Python 复制文件夹并获取进度百分比 - 详细教程与代码示例
你可以使用shutil模块中的copytree函数来复制文件夹,并使用os模块中的walk函数来遍历文件夹和文件。\n\n这里是一个示例代码,可以复制文件夹并获取复制进度的百分比:\n\npython\nimport shutil\nimport os\n\ndef copy_folder(src, dst):\n # 获取源文件夹中的所有文件夹和文件\n total_files = sum([len(files) for _, _, files in os.walk(src)])\n copied_files = 0\n\n def copy_progress(src, dst):\n nonlocal copied_files\n if os.path.isdir(dst):\n dst = os.path.join(dst, os.path.basename(src))\n shutil.copy2(src, dst)\n copied_files += 1\n progress = (copied_files / total_files) * 100\n print(f"Copy progress: {progress:.2f}%")\n\n shutil.copytree(src, dst, copy_function=copy_progress)\n\n# 用法示例:\nsrc_folder = "/path/to/source/folder"\ndst_folder = "/path/to/destination/folder"\ncopy_folder(src_folder, dst_folder)\n\n\n在上面的示例中,copy_progress函数用于复制文件,并在每次复制完成后计算进度百分比并打印出来。total_files变量用于存储源文件夹中的总文件数,copied_files变量用于存储已复制的文件数。在复制过程中,copied_files会逐渐递增,从而计算出复制进度百分比。\n\n注意:该方法只适用于复制较小的文件夹,如果你要复制的文件夹非常大,可能会导致内存消耗较大。在处理大型文件夹时,可以考虑使用rsync等专门用于文件复制的工具。
原文地址: https://www.cveoy.top/t/topic/pKMZ 著作权归作者所有。请勿转载和采集!