.write ne fonctionne pas en Python
Je suis assez nouveau dans Python, alors j'espère que je suis juste en manque de quelque chose ici évidente, mais il m'a déconcerté. Extrait de mon programme ci-dessous:
outFile = open('P4Output.txt', 'w')
outFile.write(output)
print output
print "Output saved to \"P4Output.txt\"\n"
sortie imprime correctement sur la console, mais si je vais ouvrir le fichier, il est vide. Si je supprime le fichier et exécuter mon programme encore une fois, le fichier est créé, mais est toujours vide. J'ai utilisé exactement le même bloc de code dans un autre programme de la mine dans le passé et il a travaillé, et travaille toujours. Cependant, si j'ouvre Python et d'essayer quelque chose de simple comme:
f = open('test.txt', 'w')
f.write("test")
De nouveau, test.txt est créé, mais est laissé en blanc. Ce qui donne?
source d'informationauteur Danny
Vous devez vous connecter pour publier un commentaire.
Avez-vous fait
f.close()
à la fin de votre programme?Grâce à la mémoire tampon, la chaîne peut ne pas apparaître dans le fichier jusqu'à ce que vous appelez
flush()
ouclose()
. Donc, essayez d'appelerf.close()
aprèsf.write()
. Aussi à l'aide dewith
avec les objets de fichier est recommandé, il se ferme automatiquement le fichier pour vous, même si vous sortir de lawith
bloc au début à cause d'une exception ou d'unereturn
déclaration.Vous avez besoin de faire un
si vous voulez de la mémoire tampon du contenu qui doit être écrit sur le disque.
Si vous avez terminé l'écriture du fichier, un
file.close
appel implicitement rincer les données de la mémoire tampon avant de fermer le fichier.Essayer de joindre vos instructions dans un bloc try /catch pour savoir si quelque chose se passe lors de l'ouverture ou de l'écriture du fichier:
Et de toujours fermer votre fichier pour que le système puisse rincer vos données dans le fichier avant de le fermer.
peut-être que vous devriez utiliser le chemin d'accès absolu au lieu de l'un par rapport.