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

复制完成之后


