python 复制文件并取得复制的进度百分比
要复制文件并获取复制进度的百分比,可以使用shutil模块来复制文件,并通过计算源文件和目标文件的大小来获取进度。
以下是一个示例代码:
import shutil
import os
def copy_file_with_progress(src, dst):
# 获取源文件大小
total_size = os.path.getsize(src)
copied_size = 0
with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
# 设置每次读取的块大小
block_size = 1024
while True:
# 读取一块数据
data = fsrc.read(block_size)
if not data:
break
# 写入目标文件
fdst.write(data)
# 更新已复制的大小
copied_size += len(data)
# 计算进度百分比
progress = (copied_size / total_size) * 100
print(f'复制进度:{progress:.2f}%')
# 示例用法
src_file = 'path/to/src_file.txt'
dst_file = 'path/to/dst_file.txt'
copy_file_with_progress(src_file, dst_file)
在上面的示例中,copy_file_with_progress函数接受源文件路径和目标文件路径作为参数,并使用open函数打开源文件和目标文件。然后,它使用一个循环以块为单位读取源文件的数据,并将其写入目标文件。在每次写入数据后,它更新已复制的大小,并计算进度百分比。最后,它打印出当前的复制进度
原文地址: https://www.cveoy.top/t/topic/h1xF 著作权归作者所有。请勿转载和采集!