J'ai un script python 'main.py' qui appelle un autre script python appelé 'getconf.py' qui lit à partir d'un fichier 'configuration.txt'. Voici ce qu'il ressemble à:Le script Python ne parvient pas à lire un fichier
if __name__ == "__main__":
execfile("forprolog.py") # this creates configuration.txt
execfile("getconf.py")
Lorsque getconf.py est appelé via main.py
il voit configuration.txt
en tant que fichier vide et ne parvient pas à lire la chaîne de celle-ci.
Voici comment je l'ai lu à partir d'un fichier:
f1 = open("configuration.txt")
conf = f1.read() #this string appears to be empty
print f1
retours <open file 'D:\\DIPLOMA\\PLANNER\\Exe\\configuration.txt', mode 'r' at 0x01A080D0>
print f1.read()
retourne une chaîne vide Je soupçonne que la raison de l'échec est que le fichier est en cours d'écriture immédiatement avant d'appeler getconf.py
. Si je cours main.py
quand configuration.txt
est déjà là ça marche. L'ajout d'un délai entre les actions ne résout pas le problème. J'apprécierais toute aide!
Où votre fichier est-il stocké par rapport à 'getconf.py'? Est-ce dans le même répertoire? Sinon, utilisez le module [os] (https://docs.python.org/3.4/library/os.path.html) pour construire le chemin. – mihai
Essayez de fournir un chemin absolu. – srekcahrai
Les trois fichiers se trouvent dans le même répertoire. Le chemin absolu ne semble pas aider. –