Я создал очень простой скрипт на 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.