python利用os模組編寫檔案複製功能——copy()函式用法
阿新 • • 發佈:2020-07-13
我就廢話不多說了,大家還是直接看程式碼吧~
#檔案複製 import os src_path=r'E:\Pycharm\python100題\程式碼' target_path=r'E:\Pycharm\python100題\123' #封裝成函式 def copy_function(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist=os.listdir(src) for file in filelist: path=os.path.join(src,file) if os.path.isdir(path): copy_function(path,target) with open(path,'rb') as rstream: container=rstream.read() path1=os.path.join(target,file) with open(path1,'wb') as wstream: wstream.write(container) else: print('複製完畢!') copy_function(src_path,target_path)
#改進後的檔案複製,可以遞迴複製檔案,之前的檔案複製不能複製資料夾 import os src_path=r'E:\Pycharm\python100題\程式碼' target_path=r'E:\Pycharm\python100題\123' def copy_function(src,file) if os.path.isdir(path): #判斷是否為資料夾 target1=os.path.join(target,file) os.mkdir(target1) #在目標檔案下在建立一個資料夾 copy_function(path,target1) else: with open(path,'rb') as rstream: container = rstream.read() path1 = os.path.join(target,file) with open(path1,'wb') as wstream: wstream.write(container) else: print('複製完畢!') copy_function(src_path,target_path)
補充知識:python複製資料夾(包含os庫多種函式的)
看程式碼吧~
import os#調出os庫 #檔案的複製 def mycopy(file1,file2):#定義一個mycopy函式用於複製檔案 f1=open(file1,"rb")#以讀取模式開啟file1 f2=open(file2,"wb")#以清空寫模式開啟file2 content = f1.readline()#將第一行資料賦給content while len(content)>0:#如果讀取到的資料長度不為0則迴圈執行 f2.write(content)#在file2裡寫下content content=f1.readline()#再讀一行賦給content f1.close()#關閉file1 f2.close() #自定義目錄複製函式 def copydd(dir1,dir2):#定義複製資料夾函式coppydd #獲取被複制目錄中的所有檔案資訊 dlist = os.listdir(dir1)#以列表模式賦給dlist #建立新目錄 os.mkdir(dir2)#建立新資料夾dir2 #遍歷所有檔案並執行檔案複製 for f in dlist:#讓f在dlist中遍歷 #為遍歷的檔案新增目錄路徑 file1 = os.path.join(dir1,f)#將f遍歷出的檔名給file1(dir1+f即路徑+檔名) file2 = os.path.join(dir2,f)#同樣也給file2 #判斷是否是檔案 if os.path.isfile(file1):#判斷是否為檔案的方式為os庫中的函式 os.path.isfile(檔名) mycopy(file1,file2)#呼叫自定義的mycopy函式複製檔案 if os.path.isdir(file1):#如果是資料夾的話 那就呼叫自身(自身就是複製資料夾嘛)e而處理的不是dir1,dir2,是file1,file2,因為此時資料夾同文件一起被f遍歷,此處判斷的就是f遍歷出的是檔案還是資料夾 coppydd(file1,file2) #呼叫自身 遞迴思想 #測試 copydd("./aa","./bb")#當前資料夾中的aa資料夾複製到bb資料夾 沒有會自動建立
以上這篇python利用os模組編寫檔案複製功能——copy()函式用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。