Skip to main content
 首页 » 编程设计

python之如何在python中获取文件移动的进度

2025年05月04日12lovecherry

我有一个小脚本来整理我下载的文件,它工作得很好,但我想打印出文件移动的进度,因为当它在处理大文件时,现在我做类似的事情:

print "moving..." 
os.renames(pathTofile, newName) 
print "done" 

但我希望能够看到进度条([.....] 样式)或打印到标准输出的百分比。

我不需要/想要任何类型的图形用户界面,只是获得操作进度的最简单/最少工作 (:) ) 方式。

谢谢!

请您参考如下方法:

您将无法使用 os.renames 获得此类信息。最好的办法是用自制的文件复制操作替换它,但事先调用文件上的统计信息以获得完整的大小,这样你就可以跟踪你走了多远。

像这样:

source_size = os.stat(SOURCE_FILENAME).st_size 
copied = 0 
source = open(SOURCE_FILENAME, 'rb') 
target = open(TARGET_FILENAME, 'wb') 
 
while True: 
    chunk = source.read(32768) 
    if not chunk: 
        break 
    target.write(chunk) 
    copied += len(chunk) 
    print '\r%02d%%' % (copied * 100 / source_size), 
 
source.close() 
target.close() 

但是请注意,这很可能比使用 os.rename 慢得多。