要复制文件并获取复制进度的百分比,可以使用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函数打开源文件和目标文件。然后,它使用一个循环以块为单位读取源文件的数据,并将其写入目标文件。在每次写入数据后,它更新已复制的大小,并计算进度百分比。最后,它打印出当前的复制进度

python 复制文件并取得复制的进度百分比

原文地址: https://www.cveoy.top/t/topic/h1xF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录