python实现拷贝文件夹打印进度条
时间: 2023-07-30 09:08:23 浏览: 296
可以使用shutil模块的copytree函数来拷贝文件夹,使用tqdm模块来打印进度条。以下是示例代码:
```python
import shutil
from tqdm import tqdm
def copy_folder(src, dst):
# 使用shutil.copytree函数拷贝文件夹
shutil.copytree(src, dst, dirs_exist_ok=True)
if __name__ == '__main__':
src = '/path/to/source/folder'
dst = '/path/to/destination/folder'
# 调用copy_folder函数进行拷贝,并使用tqdm打印进度条
with tqdm(total=shutil.disk_usage(src).used, unit='B', unit_scale=True, desc='Copying') as pbar:
def progress_callback(src_path, dst_path):
pbar.update(shutil.os.path.getsize(src_path))
copy_folder(src, dst, progress_callback=progress_callback)
```
在上面的代码中,使用shutil.disk_usage获取源文件夹的大小,并将其作为进度条的总大小。在拷贝过程中,使用progress_callback回调函数来更新进度条的状态。
阅读全文