WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

Python的os的文件复制

1.单纯复制文件

# 先判断src和target是否是文件夹, # 如果是文件夹,则取出文件夹里面所有的文件(没有文件夹),遍历每一个文件, # 将每一个文件的绝对路径join出来 :E:\p1\girl.jpg

 

1 src_path = r'E:\p1' 2 target_path = r'E:\p3' 3 4 def copy(src, target): 5 if os.path.isdir(src) and os.path.isdir(target): 6 filelist = os.listdir(src) 7 for file in filelist: 8 print(src) # >>E:\p1 9 path = os.path.join(src, file) 10 print(path) # >> E:\p1\girl.jpg 11 with open(path, 'rb') as rstream: 12 container = rstream.read() 13 path0 = os.path.join(target, file) 14 print(path0) # >>E:\p3\girl.jpg 15 with open(path0, 'wb') as wstream: 16 wstream.write(container) 17 else: 18 print('复制完成') 19 20 21 # 调用函数 22 copy(src_path, target_path)

 

2.复制文件

复制一个文件夹下面的所有文件到另一个文件夹中取(递归)

 

src_path = r'E:\p1' target_path = r'E:\p3' def copy(src, target): filelist = os.listdir(src) # 获取文件夹里面的内容 print(filelist) # ['aa.txt', 'girl.jpg', '文件夹', '新建 DOCX 文档.docx', '新建 XLSX 工作表.xlsx'] for file in filelist: path = os.path.join(src, file) if os.path.isdir(path): # 继续调用copy()函数 copy(path, target) else: # 不是文件夹则直接复制 with open(path, 'rb') as rstream: container = rstream.read() path0 = os.path.join(target, file) with open(path0, 'wb') as wstream: wstream.write(container) print('复制完成!') copy(src_path, target_path) print('复制成功!')
会将一个文件夹下面的文件都复制过去,但是会丢掉这个文件夹下面的所有文件夹,只会复制文件夹下
面的文件

 

 

文件夹里面的文件有:

 

 

 

复制完成之后

 

 


__EOF__

本文作者Ambitious
本文链接https://www.cnblogs.com/ambitiousPlus/p/16052384.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Ambitious~  阅读(1504)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示