问题描述
我正在使用看门狗来监控新 csv 文件的文件夹。我能够在文件夹中检测到新的 csv 文件,但无法打开/访问新的 csv 文件。由于我使用的是 Windows,因此我将保存 csv 文件的文件夹的权限更改为完全控制。但是,我收到权限被拒绝错误。还有我不明白的线程异常。这是我的代码。
import watchdog.events
import watchdog.observers
import time
import csv
class Handler(watchdog.events.PatternMatchingEventHandler):
def __init__(self):
# Set the patterns for PatternMatchingEventHandler
watchdog.events.PatternMatchingEventHandler.__init__(self,patterns=['*.csv'],ignore_directories=True,case_sensitive=False)
def on_created(self,event):
print("Watchdog received created event - % s." % event.src_path)
# Event is created,you can process it Now
with open(event.src_path,'r') as csvfile:
file = csv.reader(csvfile)
for row in file:
print(row)
if __name__ == "__main__":
src_path = "C:/Users/qwert/Documents/EEWS/1/New folder"
event_handler = Handler()
observer = watchdog.observers.Observer()
observer.schedule(event_handler,path=src_path,recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
这是完整的回溯
C:\Python\python.exe "C:/Users/qwert/Documents/EEWS/witcher.py"
Watchdog received created event - C:/Users/qwert/Documents/EEWS/1/New
folder\20191216114518_4845_744 .csv.
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python\lib\threading.py",line 926,in _bootstrap_inner
self.run()
File "C:\Python\lib\site-packages\watchdog\observers\api.py",line 199,in run
self.dispatch_events(self.event_queue,self.timeout)
File "C:\Python\lib\site-packages\watchdog\observers\api.py",line 372,in dispatch_events
handler.dispatch(event)
File "C:\Python\lib\site-packages\watchdog\events.py",line 382,in dispatch
super().dispatch(event)
File "C:\Python\lib\site-packages\watchdog\events.py",line 266,in dispatch
}[event.event_type](event)
File "C:/Users/qwert/Documents/EEWS/witcher.py",line 51,in on_created
with open(event.src_path,'r') as csvfile:
PermissionError: [Errno 13] Permission denied: 'C:/Users/Karma
Tensel/Documents/EEWS\\20191216114518_4845_744 .csv'
Process finished with exit code -1
当我尝试在触发创建的事件时运行某些脚本时,我不确定为什么会出现错误(线程中的异常和权限)。有人可以帮我吗?任何提示都会有所帮助,因为我感到迷茫。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)