Python 2.7 + win 7:如何检测文件复制过程已完成

时间:2016-05-22 01:38:27

标签: windows python-2.7

我编写了一个简单的python脚本来自动检测目录中添加的文件,然后我会对这个新添加的文件做些什么。我试图解决的一个问题是如何确定文件复制过程是否已完成。

1)如何检测目录中添加的文件 - 已解决

http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html

2)如何检测文件复制过程完成?

一种解决方案是按照以下帖子中的建议比较尺寸。但我尝试了这种方法,我发现它没有用。当文件仍在复制时(Win7弹出窗口仍然显示13分钟),该条代码表明文件副本已完成。

任何人都可以帮助检查它为什么不起作用?有没有更好的方法来检测文件复制过程完成?

Python - How to know if a file is completed when copying from an outside process

file_size = 0
while True:
    file_info = os.stat(file_path)
    if file_info.st_size == 0 or file_info.st_size > file_size:
        file_size = file_info.st_size
        sleep(1)
    else:
        break

我自己提出以下解决方案。 我没有检查文件大小,而是试图打开这个文件。如果看到IOError,请休眠2秒然后重试。

如果您有更好的解决方案,请告诉我。

result = None
while result is None:
try:
    result = open(logPath)
except IOError:
    time.sleep(2)
result.close()

0 个答案:

没有答案