8
votes

Comment enregistrez-vous chaque élément d'une liste dans un fichier .txt, une par ligne?

J'ai une liste, plist . Je veux l'enregistrer dans un fichier texte ( .txt ), de sorte que chaque élément de la liste soit enregistré sur une nouvelle ligne dans le fichier. Comment puis-je faire cela?

C'est ce que j'ai: xxx

Cependant, la liste est enregistrée dans une seule ligne sur le fichier. Je le veux, chaque numéro (il contient uniquement des entiers) est enregistré sur une nouvelle ligne.

Exemple: xxx

sortie souhaitée: xxx

Comment puis-je faire cela?


0 commentaires

3 Réponses :


11
votes

Ouvrez simplement votre fichier, rejoignez votre liste avec le délimiteur souhaité et imprimez-le.

outfile = open("file_path", "w")
print >> outfile, "\n".join(str(i) for i in your_list)
outfile.close()


3 commentaires

La liste contient des entiers, donc l'appel () augmentera typeError ici. TypeError: Séquence Article 0: Chaîne attendue, INT trouvé


Pas besoin de ces [] Intérieur join () , utilisez "\ n" .join (Str (i) pour i dans votre_list)


Pourquoi impression >> quand Outfile.write fonctionnera sur py2k et py3k?



0
votes

Reportez-vous à cette réponse pour obtenir une fonction qui ajoute un élément à une nouvelle ligne pour le fichier donné

https: // Stackoverflow.com/a/13203890/325499 p>

for item in pList:
    addToFile(item)


1 commentaires

Je ne pense pas qu'il est nécessaire de définir une telle fonction supplémentaire, et d'ouvrir et de fermer un fichier pour chaque élément de la liste coûtera trop d'opérations d'E / S.



11
votes

Vous pouvez utiliser mappe avec str ici: xxx


0 commentaires