use*_*760 1 python command-line copy robocopy windows-7
我试图在网络驱动器之间移动多个大文件夹(> 10 Gb,> 100个子文件夹,> 2000个文件).我已经尝试在python中使用shutil.copytree命令工作正常,但由于不同的原因它无法复制一小部分(<1%的文件).
我相信robocopy对我来说是最好的选择,因为我可以创建一个记录传输过程的日志文件.但是,因为我需要复制> 1000个文件夹手动工作是不可能的.
所以我的问题基本上是如何在python脚本中调用robocopy(即命令行),确保日志文件是在外部文件中编写的.
我正在开发一个Windows 7环境,由于组织限制,Linux/Unix是不可能的.如果有人有任何其他建议批量复制这么多文件夹具有很大的灵活性,欢迎他们.
就像 halfs13 所说的使用子进程,但你可能需要像这样格式化它
from subprocess import call
call(["robocopy", 'fromdir', 'todir', "/S"])
Run Code Online (Sandbox Code Playgroud)
否则它可能会将源代码视为一切
Subproccess允许您进行系统调用.这将允许您像在命令行中那样调用robocopy.
from subprocess import call
call(["robocopy", "basefolder newfolder /S /LOG:mylogfile"])
Run Code Online (Sandbox Code Playgroud)