带有进度条的Python文件复制工具
发布时间:2023-12-16 03:02:08
在Python中,可以使用shutil库来进行文件复制操作。为了显示文件复制的进度,我们可以使用tqdm库来创建进度条。
首先,确保你已经安装了shutil和tqdm库。你可以使用以下命令来安装它们:
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_file和dest_file变量替换为实际的源文件路径和目标文件路径,然后运行这段代码。你应该能够看到一个进度条显示复制的进度。
希望这个示例对你有所帮助,祝你好运!
