python

超轻量级php框架startmvc

python打包压缩、读取指定目录下的指定类型文件

更新时间:2020-05-28 11:36:02 作者:startmvc
下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:imp

下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:


import os
import datetime
import tarfile
import fnmatch
def 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 os
path = "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-8
import os
path = "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, sys
path = "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, sys
path = 'c:\\csv\\test.csv'
print os.path.splitext(path) 

运行结果:

('c:\\csv\\test', '.csv')

总结

以上所述是小编给大家介绍的python打包压缩、读取指定目录下的指定类型文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

python 指定目录 python 压缩 目录 python读取目录下文件