使用Python os和shutil模块批量复制文件到指定文件夹
本文介绍如何利用Python的os模块列出目录内容,结合shutil模块实现文件到指定文件夹的批量复制。通过遍历文件列表、处理文件名后缀并重命名,可高效完成文件夹内容的迁移与整理工作。
Python批量复制文件的核心逻辑
在Python中,批量处理文件通常涉及两个关键步骤:获取源目录下的所有文件列表,以及将这些文件逐一复制到目标路径。os模块负责目录遍历,而shutil模块提供高级文件操作接口,如复制、移动和删除。
基础实现:遍历与复制
首先,需要确定源文件夹和目标文件夹的路径。使用os.listdir()可以获取源目录下的所有文件名列表。接着,遍历该列表,对每个文件进行重命名处理(例如去除多余的后缀或特殊字符),然后使用shutil.copyfile()将源文件复制到目标路径。
以下代码展示了这一基本过程:
import os
import shutil
import time
start_time = time.time()
# 需要被复制的文件夹
old_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\json1'
new_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\json'
all_list = os.listdir(old_path)
for i in all_list:
print(i)
name, suffix = i.rsplit('.json')
name = name.replace('.','')
old_name = old_path + '\\' + i
new_name = new_path + '\\' + name + ".json"
shutil.copyfile(old_name, new_name)
print(len(all_list))
print(all_list)
end_time = time.time()
print(end_time-start_time,'秒')该脚本首先记录开始时间,然后列出源目录下的所有文件。对于每个文件,它通过rsplit('.json')分离文件名和扩展名,去除文件名中的点号,并构建新的目标文件名。最后,shutil.copyfile()执行实际的复制操作,并打印总耗时。
注意事项
- 路径分隔符:在Windows系统中,路径通常使用反斜杠
\。在Python字符串中,需确保正确转义或使用原始字符串(如r'...')。 - 文件重命名:示例中通过
rsplit和replace处理文件名,确保目标文件名符合预期格式。若源文件扩展名不一致,需调整分割逻辑。 - 错误处理:生产环境中建议添加
try-except块,以捕获文件不存在、权限不足等异常,避免程序中断。
总结
通过结合os和shutil模块,可以灵活地实现文件的批量复制与重命名。这种方法适用于整理大量分散文件、迁移数据或备份目录等场景。根据实际需求,可进一步优化路径处理、添加日志记录或引入并发机制以提升效率。
以上就是使用python os模块复制文件到指定文件夹的详细内容,更多关于Python文件操作的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













