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


Posted in Python onApril 12, 2018

下面通过代码给大家介绍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实现绘制树枝简单示例
Jul 24 Python
Python实现统计单词出现的个数
May 28 Python
Python pandas常用函数详解
Feb 07 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
Python基础之列表常见操作经典实例详解
Feb 26 Python
keras打印loss对权重的导数方式
Jun 10 Python
Python面向对象特殊属性及方法解析
Sep 16 Python
Python调用Redis的示例代码
Nov 24 Python
python 装饰器的基本使用
Jan 13 Python
python​格式化字符串
Apr 20 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 #Python
Python Pandas找到缺失值的位置方法
Apr 12 #Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 #Python
dataframe设置两个条件取值的实例
Apr 12 #Python
使用python编写监听端
Apr 12 #Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 #Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 #Python
You might like
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
python实现批量命名照片
2020/06/18 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
机工车间主任岗位职责
2014/03/05 职场文书
2015大学生实训报告
2014/11/05 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
离职告别感言
2015/08/04 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技