2009-07-19 10 views
-1

J'ai des problèmes pour trouver comment enregistrer unicode dans un fichier en python. J'ai le code suivant, et si je l'exécute dans un script test.py, il devrait créer un nouveau fichier appelé priceinfo.txt, et écrire ce qui est dans price_info dans le fichier. Mais je ne vois pas le fichier, quelqu'un peut-il m'éclairer sur ce qui pourrait être le problème?python sauvegarde unicode dans le fichier

Merci beaucoup!

price_info = u'it costs \u20ac 5' 
f = codecs.open('priceinfo.txt','wb','utf-8') 
f.write(price_info) 
f.close() 
+1

Le problème est que vous ne pouvez pas trouver le fichier 'priceinfo.txt' après avoir écrit, ou que vous ne pouvez pas voir le contenu du fichier lorsque vous l'ouvrez? –

Répondre

3

Je peux penser à plusieurs raisons:

  1. le fichier est créé, mais dans un répertoire différent. Veillez à ce que le répertoire de travail du script soit .
  2. Vous n'êtes pas autorisé à créer le fichier dans le répertoire où vous voulez le créer.
  3. vous avez une erreur dans votre script Python, et il n'est pas exécuté du tout.

Pour savoir lequel il s'agit, exécutez le script dans une fenêtre de commande et recherchez toute sortie d'erreur obtenue.

+0

+1, n'a pas Pensez à l'option # 2 – oggy

+0

L'option # 2 soulèverait une erreur IOError, qui devrait être facilement visible - et # 3 devrait également déclencher une exception, donc les deux devraient être improbables. Je suppose qu'un utilisateur Windows particulièrement nouveau peut exécuter le script dans une fenêtre de terminal transitoire et ne jamais voir la sortie. –

+0

Il semble que pour une raison quelconque, il crée le fichier dans un autre répertoire. Peut-être que j'ai foiré quelque chose dans le plugin de projet pour vim ou vim lui-même. Redémarrer l'ensemble semble bien fonctionner, merci beaucoup! – FurtiveFelon

1

En supposant qu'aucun message d'erreur du programme (ce qui serait le résultat d'oublier d'importer le module codecs), vous êtes sûr que vous êtes à la recherche dans le bon endroit? Que le code écrit priceinfo.txt dans le répertoire de travail courant (OIEau êtes-vous sûr que vous êtes à la recherche dans le répertoire de travail?)

+0

Vous avez raison, sauf si quelqu'un utilise Windows Explorer pour exécuter le script (et n'a pas la chance de voir la sortie) ou un professionnel placé essayer ... sauf autour de tout le code :) –

Questions connexes