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