В настоящее время я пытаюсь написать код, который следит за конкретным файлом в определенном каталоге, а затем, когда файл обновляется, моя программа сообщает мне, что он обновился, а затем читает из этого обновленного файла и выводит персонализированный ответ.Ссылка на два фрагмента кода в Python
Чтобы посмотреть файл, я использую сторожевой таймер, и он отлично работает сам по себе. Чтобы прочитать из файла, я написал очень простой код, чтобы прочитать его в текстовом файле, а затем использовать инструкции if-elif-else для получения желаемого результата. Тем не менее, я изо всех сил пытаюсь связать 2 части кода, т. Е. Я хотел бы, чтобы скрипт wathdog просматривал файл, а затем, когда он обновляет триггер, просматривается следующая часть кода, который читает сторожевой файл, и дает желаемый результат.
Я действительно застрял, сможет ли кто-нибудь помочь мне?
EDIT:
import time
from watchdog.observers import Observer
from watchdog.event import FileSystemEventHandler
class Myhandler(FileSystemEventHandler):
def on_modified(self, event):
print("Got it!")
if __name__== "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path = 'My path here', recursive=False)
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Это мой сторожевой код, который наблюдает за файл, когда он обновляется.
f=open("MyFile.txt", encoding='utf-8-sig')
g=f.read()
print(g)
num=int(g)
if num = 10:
r = open("Response.txt", "w")
r.write("Bla")
r.close()
elif num = 20
r = open("Response.txt", "w")
r.write("Bla")
r.close()
И так далее со всеми другими вариантами. Эта вторая часть - это часть, которая записывает новый текстовый файл на основе того, что написано в файле, который просматривается.
Что бы я хотел сделать, это иметь сторожевой таймер (первая часть кода) смотреть файл, затем, когда он обновляется, вызвать вторую часть кода для чтения из этого файла и дать назначенный вывод (вторая часть кода) Я просто не могу понять, как связать два! Я, хотя и ставил вторую часть кода в разделе «если» первого кода, но он не работал.
Просьба представить минимально допустимый примерный код того, что вы пытаетесь собрать вместе. – Brian
Почему бы вам просто не ввести код в 'on_modified'? –
Куда бы я это передал? Будет ли он заменять себя, событие или добавить в качестве другого аргумента? –