首页 > 编程 > Python > 正文

python实现操作文件(文件夹)

2019-11-25 11:30:06
字体:
来源:转载
供稿:网友

本文实例为大家分享了pyhton操作文件的具体代码,供大家参考,具体内容如下

copy_file

功能:将某个文件夹下的所有文件(文件夹)复制到另一个文件夹

#! python 3# -*- coding:utf-8 -*-# Autor: GrayMacimport shutilimport osbasefileclass = '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: GrayMacimport zipfileimport 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: GrayMacimport shutilimport 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 !')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表