2013-06-22 3 views
0

Si vous êtes tout simplement l'intention d'écrire dans un fichier en utilisant un script python comme indiqué ci-dessous:Fichier manquant lors de l'utilisation de Python 2.7.3 fonction file.write()

#!/usr/bin/python 
count = 1 
fo = open('DbCount.txt', 'w') 
fo.write(str(count)) 
#fo.flush() 
fo.close() 

Le fichier Dbcount.txt qui a été placé dans le même dossier que le script (en essayant de modifier le Dbcount.txt). je ne vois aucun changement dans le fichier txt et aucune erreur n'est montrée par l'interprète, son très étrange, aucune aide?

+1

Pouvez-vous fournir plus de détails? Cela fonctionne pour moi. Rappelez-vous que le mode 'w' tronque le fichier qui existe, donc si vous l'exécutez avec la même valeur de 'count', le fichier sera toujours le même. – tacaswell

+2

Vous utilisez un chemin * relatif *. Qu'est-ce que 'import os; print os.getcwd() 'vous dit est le répertoire courant. –

Répondre

1

d'abord, utilisez toujours la variante avec déclaration, qui sera toujours fermer le fichier, même sur les erreurs:

#!/usr/bin/python 
count = 1 
with open('DbCount.txt', 'w') as fo: 
    fo.write(str(count)) 

alors le fichier 'w' écrase chaque fois que vous écrire. Si vous souhaitez ajouter, utilisez 'a'.

A propos de votre problème spécifique, avez-vous regardé seulement dans le répertoire de votre script, ou dans le répertoire courant que vous appelez le script? Lorsque vous avez écrit votre code, le chemin du fichier dans lequel vous écrivez est relatif à l'endroit où vous exécutez votre code.

essayer:

import os 
count = 1 
with open(os.path.join(os.path.dirname(__file__), 'DbCount.txt'), 'w') as fo: 
    fo.write(str(count)) 

alors il doit générer DbCount.txt dans le même chemin que votre script.

Questions connexes