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