如何监视文件夹并在打开时执行操作?(例如:Python看门狗)



我不想启用 Linux onedrive 服务,因为我注意到它对我的 CPU 来说可能很困难,所以我宁愿按需运行它。这就是为什么我尝试创建一个小脚本,该脚本仅在我访问OneDrive目录时运行一次onedrive同步。意义?希望如此。

我认为这很容易,但看门狗似乎没有办法监控这种事件。还有其他方法可以做到这一点吗?我错过了什么吗?

以下是看门狗文档: https://python-watchdog.readthedocs.io/en/v0.10.2/quickstart.html#a-simple-example

import sys
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
path = sys.argv[1] if len(sys.argv) > 1 else '.'
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while observer.isAlive():
observer.join(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

我正在运行 linux mint 19,以防万一。

当某些文件更改时执行操作的一个很好的实用程序是 entr。

例如,如果您想在每次目录中的文件更改时运行一些脚本upload_to_onedrive.shonedrive您只需ls ~/onedrive | entr ./upload_to_onedrive.sh

最新更新