En python, j'essaye d'écrire un script qui va éditer des fichiers texte et ensuite exécuter des exécutables qui utilisent ces fichiers texte. Cela implique essentiellement 1) l'ouverture et la lecture/écriture dans un fichier texte, et 2) l'utilisation du fichier que je viens d'écrire dans une commande bash. Voici un exemple simple:python: problème lors de l'utilisation de call.subprocess pour utiliser un fichier après l'avoir écrit
import subprocess
# write file
a = ['1\n','2\n','3\n','4\n','5th and final line']
f = open('junk01.txt', 'wb')
f.writelines(a)
f.close
# show file
subprocess.call('cat junk01.txt', shell=True)
Pour une raison quelconque sur cette commande subprocess.call
il ne montre pas le contenu du fichier junk01.txt. Cependant après avoir exécuté ce code et tapez cat junk01.txt
dans bash le fichier a été écrit correctement. De même, je découvre qu'après avoir ouvert, écrit et fermé un fichier texte, puis essayé de l'utiliser dans un exécutable, le fichier n'a pas encore été écrit. Toute explication sur pourquoi c'est et ce que je peux faire pour le réparer?
Est-ce que tout mon problème était? Wow, je me sens comme un idiot. Je l'ai essayé et bien sûr, ça marche. C'est ce que je fais pour essayer de faire quelque chose de complexe dans une langue que je viens d'apprendre la semaine dernière ... Merci! –
Oublier de rincer la sortie m'a pris des années après que j'aurais dû "mieux connaître" - j'ai le sentiment que c'est une erreur commune. –
f.close fait quelque chose. Je localise la fonction de méthode proche. Ne l'évalue pas, mais au moins le trouve. –