如何显示文件复制进度

时间:2016-06-02 09:34:04

标签: python

我想将大量文件从文件夹A复制到文件夹B.

我在Python中有2个选项。

shutil

import shutil
shutil.copy(src, dst)
带有子流程的

Robocopy

import subprocess
command = "ROBOCOPY {} {} /MOVE /E".format(src, dst)
subprocess.Popen(command, shell=True)

当我使用上述方法时,我的Python IDE会盲目地复制操作。

我是否可以通过某种方式显示文件复制进度。

1 个答案:

答案 0 :(得分:2)

如果您正在寻找完整的副本输出,我们可以。这是代码。

import subprocess
from subprocess import PIPE
cmd = r'ROBOCOPY {} {} {}'.format('D:\\TF1','D:\\TF2','license.xml')
p = subprocess.Popen(cmd,stderr=PIPE,stdout=PIPE)
a = p.communicate()
for i in a:
   print i

,输出如下

  Started : Thu Jun 02 16:12:09 2016

   Source : D:\TF1\
   Dest : D:\TF2\

   Files : license.xml

  Options : /COPY:DAT /R:1000000 /W:30 

------------------------------------------------------------------------------

                   1    D:\TF1\

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         1         0         0         0
   Files :         1         0         1         0         0         0
   Bytes :     1.7 k         0     1.7 k         0         0         0
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00

   Ended : Thu Jun 02 16:12:09 2016

您是否期待这样的事情?
P.S:实际输出更清晰。