Python复制和移动文件的进度条

2024-05-14 23:41:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个程序,复制和移动文件到不同的方向。我想在整个过程中添加一个进度条会很有趣。 我该如何处理?在

我的剧本多做几点思考:

将没有.mdi文件的文件排序到“missing mdi”文件夹

我用过distutils.dir\u util。复制树是因为shutil.copytree公司acces有问题

src = raw_input("Enter source disk location: ")
src = os.path.abspath(src)
dst = raw_input("Enter first destination : ")
dst = os.path.abspath(dst)
dest = raw_input("Enter second destination : ")
dest = os.path.abspath(dest)

for dir, dirs, files in os.walk(src):
if any(f.endswith('.mdi') for f in files):
    dirs[:] = []  # do not recurse into subdirectories
    continue      # ignore this directory

# do something with the files here, there are no .txt files.
files = [os.path.join(dir, f) for f in files]
print "files -->", files

for list in files:


    print "list --->", list
    #---------parameters-------------------#
    part1 = os.path.dirname(list)
    print "part1" ,part1
    part2 = os.path.dirname(os.path.dirname(part1))
    print "part2" ,part2
    part3 = os.path.split(part1)[1]
    print "part 3 ->",part3
    path_miss1 = os.path.join(dst, "missing_mdi")
    print "path_miss1", path_miss1
    #---------first location-------------------#
    path_miss = os.path.join(path_miss1, part3)
    print "path_miss", path_miss
    #---------second location-------------------#
    path_missing = os.path.join(dest, "missing_mdi")
    print "path_missing", path_missing


    try:
        #---------first location-------------------#
        if not os.path.exists(path_miss):
            os.makedirs(path_miss)
        else:
            pass

        if os.path.exists(path_miss):
            distutils.dir_util.copy_tree(part1,path_miss)
        else:
            print "missing_file"

        if(get_size(path_miss)) == 0:
            os.rmdir(path_miss)
        else:
            pass

        #---------second location-------------------#
        if not os.path.exists(path_missing):
            os.makedirs(path_missing)
        else:
            pass

        if os.path.exists(path_missing):
            shutil.move(part1,path_missing)
        else:
            print "missing_file"

        if(get_size(path_missing)) == 0:
            os.rmdir(path_missing)
        else:
            pass

    except Exception, l:
        print "l --->",str  ( l )

Tags: pathsrcifosdirlocationfileselse
1条回答
网友
1楼 · 发布于 2024-05-14 23:41:26

尝试使用packageprogressbar

from progressbar import ProgressBar, Percentage, Bar, ETA
from time import sleep


progress, progress_maxval = 0, 10
pbar = ProgressBar(widgets=['Progress ', Percentage(), Bar(), ' ', ETA(), ],
                   maxval=progress_maxval).start()

for i in xrange(progress_maxval):
    progress += 1
    sleep(1)
    pbar.update(progress)

pbar.finish()

相关问题 更多 >

    热门问题