J'ai une liste, C'est ce que j'ai: p> 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. P> Exemple: p> sortie souhaitée: p> Comment puis-je faire cela? p> p> plist code>. Je veux l'enregistrer dans un fichier texte (
.txt code>), de sorte que chaque élément de la liste soit enregistré sur une nouvelle ligne dans le fichier. Comment puis-je faire cela?
3 Réponses :
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()
La liste contient des entiers, donc l'appel code> () code> augmentera typeError code> ici.
TypeError: Séquence Article 0: Chaîne attendue, INT trouvé code>
Pas besoin de ces [] code> Intérieur
join () code>, utilisez
"\ n" .join (Str (i) pour i dans votre_list) code>
Pourquoi impression >> code> quand
Outfile.write code> fonctionnera sur py2k et py3k?
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)
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.
Vous pouvez utiliser mappe code> avec
str code> ici: