|
|
一、shutil(最推荐,内置模块,功能最全)
1. 复制单个文件(保留原文件权限、属性)
- import shutil
- # 格式:shutil.copy2(源路径, 目标路径)
- shutil.copy2("test.txt", "new_test.txt")
- # 复制到文件夹内
- shutil.copy2("test.txt", "./target_folder/")
复制代码
shutil.copy():只复制内容 + 权限,不复制文件创建修改时间
shutil.copy2():完整复制所有文件属性(推荐日常使用)
2. 复制文件 + 自动覆盖
- # 目标存在会直接覆盖
- shutil.copy2("a.jpg", "b.jpg")
复制代码
3. 递归复制整个文件夹(所有文件 + 子目录)
- # dst 不存在则新建;已存在会报错
- shutil.copytree("源文件夹", "目标文件夹")
复制代码
二、pathlib
- from pathlib import Path
- src = Path("demo.txt")
- dst = Path("copy_demo.txt")
- # 复制文件
- src.copy2(dst)
复制代码
常用场景示例
1.判断文件存在再复制
- import os, shutil
- src = "a.png"
- dst = "./out/a.png"
- if os.path.exists(src):
- shutil.copy2(src, dst)
- else:
- print("源文件不存在")
复制代码
2.复制并重命名
- shutil.copy2("data.xlsx", "data_backup_2026.xlsx")
复制代码
|
|