Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 1, 2019 17:48:44

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Время обновления файла на венде

Если файл открывать и закрывать то все работает идеально, но штука в том что тот файл который необходимо мониторить создается другой программой и не закрывается, а мне необходимо понимать идет запись в него или нет

вот код для демонстрации

 #!/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)

Офлайн

#2 Июнь 1, 2019 19:02:22

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Время обновления файла на венде

как оказалось на линуксе тоже не работает, думаю надо через апи операционки ковырять, кто знает как ?



Офлайн

#3 Июнь 1, 2019 20:34:40

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Время обновления файла на венде

@cckyi_boxxx
вот код для демонстрации
Демонстрации чего?
@cckyi_boxxx
как оказалось на линуксе тоже не работает
Так что у вас не работает? В на картинке видно что у вас синтаксическая ошибка.
@cckyi_boxxx
кто знает как ?
Никак уважаемый. Способ буферизации определяется рантайм библиотекой того языка на котором написана ваша неизвестная стороння программа. Обычно сброс данных происходит при заполнении буфера записи (там даже обращений к ОС не будет). Таким образом вы можете ждать появления данных бесконечно долго.



Офлайн

#4 Июнь 2, 2019 00:40:03

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Время обновления файла на венде

doza_and
Никак уважаемый. Способ буферизации определяется рантайм библиотекой того языка на котором написана ваша неизвестная стороння программа. Обычно сброс данных происходит при заполнении буфера записи (там даже обращений к ОС не будет). Таким образом вы можете ждать появления данных бесконечно долго.
Спасибо, хоть это и не решение но вы сэкономили мне кучу времени на решение этой задачи, буду пробовать мониторить открыт-ли файл сторонней программой, походу это все что я могу в этой ситуации.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version