下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:
import osimport datetimeimport tarfileimport fnmatchdef find_spe_file(root,patterns=['*'],non_cludedir=[]): for root,dirnames,filenames in os.walk(root): for pattern in patterns: for filename in filenames: if fnmatch.fnmatch(filename,pattern): #print(filename) yIEld os.path.join(root,filename)def cre_tarfile(): args = ["*.jpg","*.jepg"] Now = datetime.datetime.Now().strftime("%Y_%m_%d_%H_%M_%s") filename = "all_img_{0}.tar.gz".format(Now) with tarfile.open(filename,mode='w:gz') as f: for item in find_spe_file(".",args): #print(item) f.add(item)if __name__ == "__main__": cre_tarfile()
下面看下使用python读取指定目录下的指定类型文件
准备工作:设置指定的路径,使用os.Listdir() 方法获取路径下所有的文件
import ospath = "d:\data" # 设置路径dirs = os.Listdir(path) # 获取指定路径下的文件
循环判断:使用os.path.splitext()方法筛选出指定类型的文件
for i in dirs: # 循环读取路径下的文件并筛选输出 if os.path.splitext(i)[1] == ".csv": # 筛选csv文件 print i # 输出所有的csv文件
案例展示:
# enCoding: utf-8import ospath = "d:\data" # 设置路径dirs = os.Listdir(path) # 获取指定路径下的文件for i in dirs: # 循环读取路径下的文件并筛选输出 if os.path.splitext(i)[1] == ".csv": # 筛选csv文件 print i # 输出所有的csv文件
运行结果:
20160904.csv
20160911.csv
20160918.csv
20160925.csv
20161002.csv
20161009.csv
函数解释:
os.Listdir(path)
函数功能:返回一个列表,其中包含由path指定的目录中的条目的名称。 列表是任意顺序的。它不包括特殊条目'.‘ 和'..‘,即使它们存在于目录中。
import os,syspath = "d:\tmp\"dirs = os.Listdir( path )for file in dirs: print (file)
运行结果:
Applicationdocs.docx
test.java
book.zip
foo.txt
Java Multiple inheritance.HTML
Java Multiple inheritance_files
java.ppt
ParallelPortVIEwer
os.path.splitext(path)
函数功能:分离文件名与扩展名;默认返回(fname,fextension)元组,可做切片 *** 作
import os,syspath = 'c:\csv\test.csv'print os.path.splitext(path)
运行结果:
('c:\\csv\\test','.csv')
总结
以上所述是小编给大家介绍的python打包压缩、读取指定目录下的指定类型文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
您可能感兴趣的文章:Python 获取当前所在目录的方法详解Python利用递归和walk()遍历目录文件的方法示例 总结以上是内存溢出为你收集整理的python打包压缩、读取指定目录下的指定类型文件全部内容,希望文章能够帮你解决python打包压缩、读取指定目录下的指定类型文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)