能用python简要的实现一个示例吗
时间: 2024-09-23 11:06:09 浏览: 15
当然,下面是一个简单的Python脚本例子,使用了`tqdm`库来显示文件复制过程的进度条:
```python
import os
from tqdm import tqdm
def copy_file(src, dst, show_progress=True):
if not os.path.exists(dst) or not os.path.isfile(src):
print("Invalid source file or destination path.")
return
total_size = os.path.getsize(src)
with open(src, 'rb') as src_file, open(dst, 'wb') as dst_file:
if show_progress:
progress_bar = tqdm(total=total_size, unit='B', unit_scale=True)
chunk_size = 1024 * 1024 # 每次读写1MB
while True:
data = src_file.read(chunk_size)
if not data:
break
dst_file.write(data)
progress_bar.update(len(data))
progress_bar.close()
# 使用示例
copy_file('source.txt', 'destination.txt', show_progress=True)
```
在这个例子中,我们首先获取源文件的大小,然后通过循环逐块读取源文件并写入目标文件,同时更新`tqdm`进度条。如果`show_progress`参数为真(默认),则会显示进度条。