python实现拷贝文件夹打印进度百分比值
时间: 2023-07-30 12:08:23 浏览: 109
Python实现拷贝/删除文件夹的方法详解
以下是 Python 实现拷贝文件夹并打印进度百分比值的示例代码:
```python
import shutil
import os
def copy_folder(src, dst):
# 获取源文件夹中的所有文件或文件夹
items = os.listdir(src)
# 遍历所有文件或文件夹
for item in items:
# 拼接源文件或文件夹的完整路径
src_path = os.path.join(src, item)
# 拼接目标文件或文件夹的完整路径
dst_path = os.path.join(dst, item)
# 如果是文件夹,则递归拷贝
if os.path.isdir(src_path):
os.makedirs(dst_path, exist_ok=True)
copy_folder(src_path, dst_path)
# 如果是文件,则拷贝并打印进度百分比值
else:
shutil.copy2(src_path, dst_path)
print(f"拷贝进度:{int(os.path.getsize(dst_path)/os.path.getsize(src_path)*100)}%")
```
在上面的代码中,`copy_folder` 函数用于拷贝文件夹,其中 `src` 参数为源文件夹路径,`dst` 参数为目标文件夹路径。该函数首先获取源文件夹中的所有文件或文件夹,然后逐个遍历并拷贝到目标文件夹中。如果遇到文件夹,则递归调用 `copy_folder` 函数进行拷贝。如果遇到文件,则使用 `shutil.copy2` 函数进行拷贝,并打印拷贝进度百分比值。其中,进度百分比值的计算公式为目标文件的大小除以源文件的大小,再乘以 100。
使用示例:
```python
src = "/path/to/source/folder"
dst = "/path/to/destination/folder"
copy_folder(src, dst)
```
上面的示例代码将会把 `/path/to/source/folder` 文件夹中的所有内容拷贝到 `/path/to/destination/folder` 文件夹中,并打印拷贝进度百分比值。
阅读全文