下面是一个工作 python 脚本,它通过命令行接受目录路径并监视该目录,吐出出现在目录中的任何新图像文件的名称。我想通过命令行添加第二个参数,该参数最终会输入到每当新图像文件出现在该目录中时调用的函数。
from watchdog.events import PatternMatchingEventHandler
class MyHandler(PatternMatchingEventHandler):
patterns = ["*.jpg", "*.png", "*.tif"]
# we only care about newly created images
def on_created(self, event):
print(event.src_path + "want to have arg2 available here")
from watchdog.observers.polling import PollingObserver as Observer
if __name__ == '__main__':
args = sys.argv[1:]
observer = Observer()
observer.schedule(MyHandler(), path=args[0] if args else '/images')
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
这样,当我调用文件时,它可以是这样的:
python myfile.py /path/to/images arg2
并且 arg2 将在 on_created(self, event) 中可用。对不起,这么新的课程!