python打包压缩、读取指定目录下的指定类型文件
下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:
importos importdatetime importtarfile importfnmatch deffind_spe_file(root,patterns=['*'],non_cludedir=[]): forroot,dirnames,filenamesinos.walk(root): forpatterninpatterns: forfilenameinfilenames: iffnmatch.fnmatch(filename,pattern): #print(filename) yieldos.path.join(root,filename) defcre_tarfile(): args=["*.jpg","*.jepg"] now=datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S") filename="all_img_{0}.tar.gz".format(now) withtarfile.open(filename,mode='w:gz')asf: foriteminfind_spe_file(".",args): #print(item) f.add(item) if__name__=="__main__": cre_tarfile()
下面看下使用python读取指定目录下的指定类型文件
准备工作:设置指定的路径,使用os.listdir()方法获取路径下所有的文件
importos path="d:\\data"#设置路径 dirs=os.listdir(path)#获取指定路径下的文件
循环判断:使用os.path.splitext()方法筛选出指定类型的文件
foriindirs:#循环读取路径下的文件并筛选输出 ifos.path.splitext(i)[1]==".csv":#筛选csv文件 printi#输出所有的csv文件
案例展示:
#encoding:utf-8 importos path="d:\\data"#设置路径 dirs=os.listdir(path)#获取指定路径下的文件 foriindirs:#循环读取路径下的文件并筛选输出 ifos.path.splitext(i)[1]==".csv":#筛选csv文件 printi#输出所有的csv文件
运行结果:
20160904.csv
20160911.csv
20160918.csv
20160925.csv
20161002.csv
20161009.csv
函数解释:
os.listdir(path)
函数功能:返回一个列表,其中包含由path指定的目录中的条目的名称。列表是任意顺序的。它不包括特殊条目'.‘和'..‘,即使它们存在于目录中。
importos,sys path="d:\\tmp\\" dirs=os.listdir(path) forfileindirs: print(file)
运行结果:
Applicationdocs.docx
test.java
book.zip
foo.txt
JavaMultipleInheritance.html
JavaMultipleInheritance_files
java.ppt
ParallelPortViewer
os.path.splitext(path)
函数功能:分离文件名与扩展名;默认返回(fname,fextension)元组,可做切片操作
importos,sys path='c:\\csv\\test.csv' printos.path.splitext(path)
运行结果:
('c:\\csv\\test','.csv')
总结
以上所述是小编给大家介绍的python打包压缩、读取指定目录下的指定类型文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!