用python语言编写一个脚本程序,用来复制一个文件夹的内容到另外一个文件夹,复制的过程中需要实时进度条,并做成弹窗的形式,并展示文件夹的所有文件
时间: 2024-10-09 13:11:39 浏览: 15
你可以使用Python的`shutil`, `os`, 和`tqdm`库来创建这样一个脚本,`shutil`用于文件和目录操作,`os`用于处理路径,而`tqdm`可以提供进度条功能。下面是一个简单的例子:
```python
import os
import shutil
from tqdm import tqdm
# 定义源文件夹和目标文件夹路径
src_dir = 'source_folder'
dst_dir = 'destination_folder'
# 检查目标文件夹是否存在,如果不存在则创建
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
# 获取源文件夹的所有文件和子目录列表
all_files = os.listdir(src_dir)
# 使用递归函数复制文件和目录,包括进度条
def copy_with_progress(src, dst):
for item in tqdm(all_files, desc="Copying", unit='files'):
src_path = os.path.join(src, item)
dst_path = os.path.join(dst, item)
# 如果是文件,直接复制
if os.path.isfile(src_path):
shutil.copy2(src_path, dst_path)
# 如果是目录,递归复制
elif os.path.isdir(src_path):
shutil.copytree(src_path, dst_path)
# 开始复制
copy_with_progress(src_dir, dst_dir)
# 弹窗消息提示复制完成
import tkinter as tk
root = tk.Tk()
root.withdraw() # 隐藏主窗口
tk.messagebox.showinfo("复制完成", "所有文件已成功复制到指定位置.")
```
运行这个脚本后,它会开始复制源文件夹中的所有内容,并显示一个实时的进度条。当复制完成后,会在一个小窗口中显示"复制完成"的消息。