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('复制成功!')
会将一个文件夹下面的文件都复制过去,但是会丢掉这个文件夹下面的所有文件夹,只会复制文件夹下
面的文件

 

 

文件夹里面的文件有:

 

 

 

复制完成之后

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM