【发布时间】:2013-05-27 21:14:04
【问题描述】:
我目前正在使用shutil.copy2() 复制大量图像文件和文件夹(介于 0.5 到 5 个演出之间)。 Shutil 工作正常,但是太慢了。我想知道是否有办法将此信息传递给 Windows 以制作副本并给我它的标准传输对话框。你知道,这家伙……
很多时候,我的脚本所花费的时间大约是标准 windows 复制所用时间的两倍,这让我担心我的 python 解释器在运行复制时挂起。我多次运行复制过程,希望缩短时间。
【问题讨论】:
-
您是否确实使用 Python 和 Windows 资源管理器对同一文件的文件传输进行了定时?我很难相信 Python 实际上更慢。
-
是的,我做了一个并排测试。它是跨网络的,所以可能是网络速度受到干扰,但是我如何使用 shutil 找到我的传输速度?
-
您可以在 Python 中使用
time.clock()来获取传输时间,但您必须使用秒表来为 Explorer 计时。我的假设是 Python 和 Explorer 都调用相同的库来执行复制,但 Explorer 感觉更快,因为进度条可能是因为它给你的时间估计不正确。如果您同时运行两者并看到巨大的差异,那就很有趣了! -
我在网上发现了有关shutil 变慢的帖子......也许我会在某个时候做一个更科学的测试。无论哪种方式,我仍然希望将副本转储到 Windows,这样我就不必等待副本完成才能继续执行脚本。也许这是一个多线程问题?
-
在另一天在本地和我们的网络上进行测试后,我发现shutil 的速度一样快。估计是网络流量问题。感谢您的帮助。
标签: python windows python-2.7