我想使用python在Windows上复制文件列表。手动执行此操作时,我会在某些文件中看到超时,因此复制过程失败。我需要一种在python中实现超时检查的方法。
到目前为止,我使用的是win32 API:
import win32file
files = {'source_a' : 'dest_a', 'source_b' : 'dest_b'}
for f in files.keys():
win32file.CopyFileW(f,files[f],0)
在某些情况下,CopyFileW
功能在"合理的时间内没有返回",为了这个讨论,让我们说5秒。如何根据计时器包装此函数?
编辑:根据建议,我切换到使用CopyFileEx
功能,因为它有一个取消接口。如果我在回调函数中进行超时检查,则只要回调正在运行,复制过程就会停止。据我所知,当有一些文件复制活动时,才会发出对回调函数的调用。如果ISN&T长时间没有,我就不会看到。