我是Python的新手,我试图实现一个很好的“文件创建”检测。如果我不把time.sleep(x)
我的文件以错误的方式阐述,因为它们仍在文件夹中“创建”。 (缓冲区不为空) 每次创建文件时,我怎样才能绕过此事而不用等待x
秒?Python(看门狗) - 等待文件被正确创建
这是我的代码:
主营:
while 1:
if len(parser()) > 0: # arguments are valid
if len(parser()) == 3:
log_path = parser()['log_path']
else:
log_path = os.getcwd()
paths = parser()
if paths:
handler = Event_Handler()
observer = Observer()
observer.schedule(handler, paths['src_fld'], True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
else:
exit(1)
Event_Handler类:
class Event_Handler(FileSystemEventHandler):
def on_created(self, event):
if not event.is_directory:
time.sleep(1)
正如我所说的,没有这种time.sleep(1)
如果我尝试处理大文件,我会因为它还没有完全写入而失败。
它是没有办法的。使用这个http://pyinotify.sourceforge.net/ –
看门狗是跨平台的,所以它更适合。 – peperunas
没有'close_written'事件? – zx1986