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

本文展示了如何使用Python打包压缩指定目录下的图片文件,并读取指定目录下的CSV文件。通过`fnmatch`模块筛选文件,利用`tarfile`库创建压缩文件,以及运用`os`库进行文件路径操作和类型判断。
摘要由CSDN通过智能技术生成

下面通过代码给大家介绍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打包压缩、读取指定目录下的指定类型文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对聚米学院网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值