gpt4 book ai didi

python watchdog 监视创建的文件的目录并对该文件执行某些操作

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:53 25 4
gpt4 key购买 nike

我正在使用看门狗来监视目录(和子目录)中创建的文件。如果创建的文件是 .csv,程序将读取它们(并对文件进行一些小的更改,但这实际上不是问题的一部分)。问题是有时 readlines() 返回一个空列表,我无法弄清楚它为什么这样做。即使我只是将相同的 .csv 文件复制到受监视的目录,它偶尔也会返回一个空列表,因此问题似乎不是 .csv 文件。我在 OSX 上运行 python 2.7.5。那么有人明白为什么会发生这种情况吗?

import os
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


class CreatedHandler(FileSystemEventHandler):

def on_created(self, event):

if event.is_directory:
return
filepath, ext = os.path.splitext(event.src_path)
if (ext == '.csv' and '-fixed' not in filepath):
lines = list()
with open(event.src_path, 'r') as f:
lines = f.readlines()
print len(lines)

if __name__ == "__main__":
event_handler = CreatedHandler()
observer = Observer()
observer.schedule(event_handler, '.', recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

最佳答案

我认为您可能需要在找到文件后立即添加 sleep 。我认为您的脚本正在读取它,然后它在管道中具有实际数据。

关于python watchdog 监视创建的文件的目录并对该文件执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18830246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com