J'ai créé un script python très simple:Comprendre la « tail -f en python »
def read_then_follow(file):
for line in file:
yield line
while True:
line = file.readline()
if not line:
time.sleep(1.0)
continue
yield line
for line in read_then_follow("some_file.txt"): print line
Le fichier « some_file.txt » contient quelques lignes de texte, qui sera écrit à écran lorsque je lance le script. Si j'ajoute ensuite une ligne au fichier avec echo "line" >> some_file.txt
, la ligne sera imprimée à l'écran dans la seconde. Mais: si j'ouvre le fichier en vim, ajoutez une ligne en bas et enregistrez, le script s'arrête de fonctionner. Il n'écrit pas la nouvelle ligne écrite en vim à l'écran ni en réponse à d'autres commandes echo ...
. Pour information, j'utilise actuellement python 2.6.6 sous Ubuntu 10.10.
Ah, cela semble être une explication très raisonnable. Je vous remercie! –
Vous pouvez consulter [: help crontab] (http://vimdoc.sourceforge.net/htmldoc/options.html#crontab) dans Vim pour obtenir des informations sur le sujet. C'est le même problème. – Carpetsmoker