2016-11-12 2 views
0

Voici ce que mon code ressemble à ce jour:Comment écrire et lire dans un fichier en python?

restart = 'y' 
while (True): 
    sentence = input("What is your sentence?: ") 
    sentence_split = sentence.split() 
    sentence2 = [0] 
    print(sentence) 
    for count, i in enumerate(sentence_split): 
     if sentence_split.count(i) < 2: 
      sentence2.append(max(sentence2) + 1) 
     else: 
      sentence2.append(sentence_split.index(i) +1) 
    sentence2.remove(0) 
    print(sentence2) 
    outfile = open("testing.txt", "wt") 
    outfile.write(sentence) 
    outfile.close() 
    print (outfile) 
    restart = input("would you like restart the programme y/n?").lower() 
    if (restart == "n"): 
      print ("programme terminated") 
      break 
    elif (restart == "y"): 
     pass 
    else: 
     print ("Please enter y or n") 

Je dois savoir quoi faire pour que mon programme ouvre un fichier, enregistre la phrase entrée et les chiffres qui recréent la phrase et pouvoir imprimer le fichier. (Im devinant c'est la partie de lecture). Comme vous pouvez probablement le dire, je ne sais rien à propos de la lecture et de l'écriture dans les fichiers, alors écrivez votre réponse afin qu'un noob puisse comprendre. Aussi la partie du code qui est liée aux fichiers est un coup de poignard dans le noir et pris de différents sites, donc ne pense pas que j'ai des connaissances à ce sujet.

+1

Ne prenez pas de sites Web au hasard, utilisez [le tutoriel officiel] (https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files) –

+0

De toute façon, vous voulez probablement ouvrez les fichiers avant la boucle while et fermez-les ensuite. –

Répondre

2

Fondamentalement, vous créez un objet fichier en l'ouvrant et ne lecture ou d'écriture

Pour lire une ligne d'un fichier

#open("filename","mode") 
outfile = open("testing.txt", "r") 
outfile.readline(sentence) 

Pour lire toutes les lignes de fichier

for line in fileobject: 
    print(line, end='') 

Pour écrire un fichier en utilisant python

outfile = open("testing.txt", "w") 
outfile.write(sentence) 
+1

Il semble que l'OP utilise Python 3.x, donc utiliser le gestionnaire de contexte 'with' serait une meilleure option pour ouvrir le fichier et le fermer. –

0

pour faire simple, de lire un fichier en python, vous devez « ouvrir » le fichier en mode lecture:

f = open("testing.txt", "r") 

Le second argument « r » signifie que nous ouvrons le fichier à lire. Après avoir l'objet fichier « f » le contenu du fichier est accessible par:

content = f.read() 

Pour écrire un fichier en python, vous devez « ouvrir » le fichier en mode d'écriture (« w ») ou ajouter mode ("a"). Si vous choisissez le mode écriture, l'ancien contenu du fichier est perdu. Si vous choisissez append mode, le nouveau contenu sera écrit à la fin du fichier:

f = open("testing.txt", "w") 

Pour écrire une chaîne s à ce fichier, nous utilisons la commande d'écriture:

f.write(s) 

Dans votre cas, il serait probablement quelque chose comme:

outfile = open("testing.txt", "a") 
outfile.write(sentence) 
outfile.close() 

readfile = open("testing.txt", "r") 
print (readfile.read()) 
readfile.close() 

Je recommande de suivre la documentation officielle comme l'a souligné cricket_007: https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files