Форум сайта python.su
14
Если файл открывать и закрывать то все работает идеально, но штука в том что тот файл который необходимо мониторить создается другой программой и не закрывается, а мне необходимо понимать идет запись в него или нет
вот код для демонстрации
#!/usr/bin/python36 #-*-coding:utf8-*- import os , time , sys delay_time = 1 with open('test.file' , 'wt') as fd: while True: if delay_time > 60: break print('Записываю изменения в файл test.file , таймаут %i сек.' % delay_time , "\n" , os.path.getmtime('test.file')) fd.write('1') time.sleep(delay_time) delay_time += 1 fd.close() sys.exit()
Отредактировано @cckyi_boxxx (Июнь 1, 2019 17:49:45)
Офлайн
14
Офлайн
253
@cckyi_boxxxДемонстрации чего?
вот код для демонстрации
@cckyi_boxxxТак что у вас не работает? В на картинке видно что у вас синтаксическая ошибка.
как оказалось на линуксе тоже не работает
@cckyi_boxxxНикак уважаемый. Способ буферизации определяется рантайм библиотекой того языка на котором написана ваша неизвестная стороння программа. Обычно сброс данных происходит при заполнении буфера записи (там даже обращений к ОС не будет). Таким образом вы можете ждать появления данных бесконечно долго.
кто знает как ?
Офлайн
14
doza_andСпасибо, хоть это и не решение но вы сэкономили мне кучу времени на решение этой задачи, буду пробовать мониторить открыт-ли файл сторонней программой, походу это все что я могу в этой ситуации.
Никак уважаемый. Способ буферизации определяется рантайм библиотекой того языка на котором написана ваша неизвестная стороння программа. Обычно сброс данных происходит при заполнении буфера записи (там даже обращений к ОС не будет). Таким образом вы можете ждать появления данных бесконечно долго.
Офлайн