我正在尝试在网络驱动器之间移动多个大文件夹(>;10 Gb,>;100个子文件夹,>;2000个文件)。我曾尝试在python中使用shutil.copytree命令,该命令工作正常,只是由于不同的原因未能复制一小部分(文件的<;1%)。
我相信robocopy是最好的选择,因为我可以创建一个记录传输过程的日志文件。但是,由于我需要复制1000个文件夹,手动操作是不可能的。
因此,我的问题本质上是如何在python脚本中调用robocopy(即命令行),以确保日志文件是在外部文件中编写的。
我在Windows 7环境下工作,由于组织限制,Linux/Unix是不可能的。如果有人有任何其他建议批量复制这么多文件夹具有很大的灵活性,他们是受欢迎的。
Subproccess允许您进行系统调用。这将允许您从命令行调用robocopy。
使用
os.exec
系列函数之一启动任何外部程序:可能你想要
os.execlp(file, arg0, arg1, ...)
就像halfs13所说的使用子流程,但是您可能需要这样格式化它
from subprocess import call call(["robocopy",'fromdir', 'todir',"/S"])
否则它可能会把源代码解读为相关问题 更多 >
编程相关推荐