Watchdog: 展開されたユーザーの文字列(Pathlib)をobserver.scheduleに渡すと、不正な命令4が発生します

作成日 2020年07月10日  ·  4コメント  ·  ソース: gorakhargosh/watchdog

タイトルのとおり、コメントアウトされたコードは機能しますが、Pathlibを使用すると不正な命令が表示されます。4。ターミナルへのパスを印刷すると、パスが正しく設定されていることが示され、observer.schedule行をコメントアウトすると、エラーなしでプログラムが実行されます。

class ObserverLoop:
    def __init__(self):
        self.folder = Path("~/Desktop")
        print(self.folder.expanduser())
        # self.working_path = os.path.abspath(os.path.expanduser("~/" + "/Desktop/"))
        self.working_path = self.folder.expanduser()
        print(self.working_path)
        self.event_handler = MonitorFolderChanges(self.working_path)

    def start_loop(self):
        tf.key = secrets.api_key
        observer = Observer()

        observer.schedule(self.event_handler, self.working_path, recursive=False)
        observer.start()

        try:
            while observer.is_alive():
                observer.join(1)
        except KeyboardInterrupt:
            observer.stop()

        observer.join()
not a bug

全てのコメント4件

ウォッチドッグのどのバージョンですか?

最新バージョン0.10.2だと思います。

最新の0.10.3で試してみてください。 パスのようなオブジェクトをサポートするための修正が含まれています(https://github.com/gorakhargosh/watchdog/releases/tag/v0.10.3を参照)。

解決策をありがとう、そして返信の遅れをお詫びします。 この問題の主な理由は、 brew upgradeしようとしたときに、最新バージョンが提供されなかったことです。

このページは役に立ちましたか?
0 / 5 - 0 評価