python利用os模塊編寫文件復制功能——copy()函數用法
我就廢話不多說了,大家還是直接看代碼吧~
#文件復制import ossrc_path=r’E:Pycharmpython100題代碼’target_path=r’E:Pycharmpython100題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 ossrc_path=r’E:Pycharmpython100題代碼’target_path=r’E:Pycharmpython100題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): #判斷是否為文件夾 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')#以讀取模式打開file1f2=open(file2,'wb')#以清空寫模式打開file2content = f1.readline()#將第一行數據賦給contentwhile len(content)>0:#如果讀取到的數據長度不為0則循環執行f2.write(content)#在file2里寫下contentcontent=f1.readline()#再讀一行賦給contentf1.close()#關閉file1f2.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()函數用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: