Я создал очень простой скрипт на 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
Файл "some_file.txt" содержит несколько строк текста, которые будут выведены на экран при запуске скрипта. Если я затем добавлю строку в файл с echo "line" >> some_file.txt
, строка будет напечатана на экране в течение 1 секунды. Но: если я открою файл в vim, добавлю строку внизу и сохраним, скрипт перестанет работать. Он не выводит на экран новую строку, написанную в vim, и не отвечает на дальнейшие echo ...
команды.
К вашему сведению, в настоящее время я использую Python 2.6.6 в Ubuntu 10.10.