現在、特定のディレクトリ内の特定のファイルを監視するコードを作成しようとしています。ファイルが更新されると、更新され、パーソナライズされた応答を出力します。Pythonで2つのコードをリンクする
ファイルを見るには、私はウォッチドッグを使用しており、それ自体は正常に動作します。ファイルから読み込むために、テキストファイル内の数値を読み取って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()
その他のオプションもあります。この2番目の部分は、監視されているファイルに書き込まれている内容に基づいて新しいテキストファイルを書き込む部分です。
私がしたいのは、ウォッチドッグ(コードの最初の部分)がファイルを見て、それが更新されたら、そのファイルから読み込み、指定された出力を与えるコードの第2部分をトリガーしますコードの)私はちょうど2つをリンクする方法を理解できません!私は最初のコードの 'if'セクションにコードの2番目の部分を入れましたが、うまくいきませんでした。
あなたがまとめようとしているものの最小限の検証可能なサンプルコードを提供してください。 – Brian
なぜコードを 'on_modified'に入れないのですか? –
どこを正確に渡すのですか?それは自己、イベントを置き換えるか、別の議論として追加するか? –