python實現操作檔案(資料夾)
阿新 • • 發佈:2020-01-09
本文例項為大家分享了pyhton操作檔案的具體程式碼,供大家參考,具體內容如下
copy_file
功能:將某個資料夾下的所有檔案(資料夾)複製到另一個資料夾
#! python 3 # -*- coding:utf-8 -*- # Autor: GrayMac import shutil import os basefileclass = 'basefile' #sourcefile:原始檔路徑 fileclass:原始檔夾 destinationfile:目標資料夾路徑 def copy_file(sourcefile,fileclass,destinationfile): #遍歷目錄和子目錄 for filenames in os.listdir(sourcefile): #取得檔案或檔名的絕對路徑 filepath = os.path.join(sourcefile,filenames) #判斷是否為資料夾 if os.path.isdir(filepath): if fileclass == basefileclass : copy_file(filepath,fileclass + '/' + filenames,destinationfile + '/' + filenames) else : copy_file(filepath,destinationfile + '/' + filenames) #判斷是否為檔案 elif os.path.isfile(filepath): print('Copy %s'% filepath +' To ' + destinationfile) #如果無資料夾則重新建立 if not os.path.exists(destinationfile): os.makedirs(destinationfile) shutil.copy(filepath,destinationfile) copy_file(sourcefile,basefileclass,destinationfile)
zip_file
功能:將某個資料夾下面的所有檔案(資料夾)壓縮
#! python 3 # -*- coding:utf-8 -*- # Autor: GrayMac import zipfile import os #dirpath:壓縮原始檔路徑 outpath:輸出資料夾路徑 outname:輸出壓縮檔名 basefilepath = 'basefile/' def zip_file(dirpath,outpath,outname): print('Start ZIP ' + dirpath + ' To ' + outname) zip = zipfile.ZipFile(outpath + outname,"w",zipfile.ZIP_DEFLATED) for path,dirnames,filenames in os.walk(dirpath): # 去掉目標跟路徑,只對目標資料夾下邊的檔案及資料夾進行壓縮 fpath = path.replace(dirpath,basefilepath) for filename in filenames: zip.write(os.path.join(path,filename),os.path.join(fpath,filename)) zip.close() print('ZIP' + outname + 'successed !') zip_file(dirpath,outname)
del_file
功能:將某個資料夾下面的所有檔案(資料夾)刪除
#! python 3 # -*- coding:utf-8 -*- # Autor: GrayMac import shutil import os #path_data 刪除資料夾路徑 #os.listdir(path_data) 返回一個列表,裡面是當前目錄下面的所有東西的相對路徑 #os.path.isfile(file_data) 判斷是否為檔案 #os.remove(file_data) 刪除檔案 #shutil.rmtree(file_data) 刪除資料夾(非空) def del_file(path_data): print('Start Delete : ' + path_data) for filenames in os.listdir(path_data) : file_data = path_data + "\\" + filenames#當前資料夾的下面的所有東西的絕對路徑 if os.path.isfile(file_data) : os.remove(file_data) else: shutil.rmtree(file_data) print('Delete successed !')
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。