python实现操作文件(文件夹)
时间:2020-10-03 10:15:33|栏目:Python代码|点击: 次
本文实例为大家分享了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,fileclass,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,outpath,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 !')