2013-04-07 3 views
-3

J'essayais de voir s'il y avait un moyen d'écrire dans le fichier courant, dans lequel le code est en cours d'exécution.Ecriture dans le fichier courant

Voici le code que j'ai écrit:

with open(__file__, 'r+') as f: 
    f.write('abc') 

Il ne fonctionne pas. Est-ce que je peux utiliser python pour écrire dans le fichier dans lequel le code est en cours d'exécution?

+1

do u obtenir une erreur ou ne le code mis à jour n'a pas d'effet? quelle erreur obtenez-vous? –

+1

Votre code fonctionne aussi pour moi. – soon

+0

Qu'espérez-vous que se passe-t-il lorsque vous écrivez dans le fichier de module en cours? Le module a déjà été lu par Python au moment où le code s'exécute. * Ça ne marche pas * Ce n'est pas une description correcte du problème. –

Répondre

0

Je ne peux pas reproduire cela. Mon dossier test.py, après l'exécution, est

abch open(__file__, 'r+') as f: 
    f.write('abc') 

qui me dit que le programme a travaillé « comme prévu ».

+0

Qu'est-ce que vous utilisez? J'utilise le texte sublime 2 – xylon97

+0

Python 3.3.0 - mais ce n'est pas pertinent. Comment gérez-vous exactement votre programme? –

+0

Ctrl + Entrée est le raccourci que j'ai défini pour l'exécution du code et j'utilise python 2.7.3. – xylon97

0

Essayez annexant le fichier:

with open(__file__, 'a') as f: 
f.write('abc')