欢迎访问宙启技术站
智能推送

带有进度条的Python文件复制工具

发布时间:2023-12-16 03:02:08

在Python中,可以使用shutil库来进行文件复制操作。为了显示文件复制的进度,我们可以使用tqdm库来创建进度条。

首先,确保你已经安装了shutiltqdm库。你可以使用以下命令来安装它们:

pip install shutil tqdm

下面是一个带有进度条的文件复制工具的示例代码:

import shutil
from tqdm import tqdm

def copy_file(src, dest):
    total_size = os.path.getsize(src)
    copied_size = 0

    with open(src, 'rb') as source_file:
        with open(dest, 'wb') as dest_file:
            with tqdm(total=total_size, unit='B', unit_scale=True) as pbar:
                while True:
                    buffer = source_file.read(1024)
                    if not buffer:
                        break
                    dest_file.write(buffer)
                    copied_size += len(buffer)
                    pbar.update(len(buffer))

def main():
    src_file = 'path/to/source/file'
    dest_file = 'path/to/destination/file'

    copy_file(src_file, dest_file)
    print('File successfully copied!')

if __name__ == '__main__':
    main()

在这个示例中,copy_file函数接受源文件路径和目标文件路径作为参数。首先,它获取源文件的总大小。然后,它使用open函数打开源文件和目标文件。接下来,它使用tqdm创建一个进度条,并将total参数设置为源文件的总大小。然后它进入一个循环,从源文件中读取1024字节的数据并将其写入目标文件中。在每次迭代中,它更新进度条。最后,当文件复制完成时,它会打印一条成功复制的消息。

确保将src_filedest_file变量替换为实际的源文件路径和目标文件路径,然后运行这段代码。你应该能够看到一个进度条显示复制的进度。

希望这个示例对你有所帮助,祝你好运!