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('復制成功!')
會將一個文件夾下面的文件都復制過去,但是會丟掉這個文件夾下面的所有文件夾,只會復制文件夾下
面的文件
文件夾里面的文件有:
復制完成之后