如何解决使用 Python 的文件监视器中的 ValueError("empty pattern")
我使用 python 目录进行监控以在文件创建时收到警报。
有时在此文件夹中创建文件时会出现异常:
File .....watchdog\utils\patterns.py,line 30 in <genexpr>
return (any(path(match(p) for p in include_patterns)
File"c:\python3\lib\pathlib.py",line 921,in match
raise ValueError("empty pattern")
ValueError: empty pattern
这是python中的代码。
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
def on_created(event):
with open(event.src_path,'r') as f:
data=f.read()
print(data)
print(f"hey,{event.src_path} has been created!")
def on_deleted(event):
print(f"what the f**k! Someone deleted {event.src_path}!")
def on_modified(event):
print(f"hey buddy,{event.src_path} has been modified")
def on_moved(event):
print(f"ok ok ok,someone moved {event.src_path} to {event.dest_path}")
if __name__ == "__main__":
patterns = "*.csv"
ignore_patterns = ""
ignore_directories = False
case_sensitive = True
my_event_handler = PatternMatchingEventHandler(patterns,ignore_patterns,ignore_directories,case_sensitive)
my_event_handler.on_created = on_created
my_event_handler.on_deleted = on_deleted
my_event_handler.on_modified = on_modified
my_event_handler.on_moved = on_moved
path = "t/"
go_recursively = True
my_observer = Observer()
my_observer.schedule(my_event_handler,path,recursive=go_recursively)
my_observer.start()
time.sleep(10)
如何修复异常?
解决方法
您需要传入模式列表,而不是单个字符串。和 None
,不是空字符串。
my_event_handler = PatternMatchingEventHandler(
patterns=["*"],ignore_patterns=None,# pass in `None` in case of no ignores
ignore_directories=False,case_sensitive=True,)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。