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虚拟环境virtualenv的安装与使用
Sep 21 Python
Python装饰器用法实例总结
May 26 Python
python修改txt文件中的某一项方法
Dec 29 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python使用装饰器作日志处理的方法
Jul 11 Python
Python列表解析操作实例总结
Feb 26 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
详解Python流程控制语句
Oct 28 Python
如何通过安装HomeBrew来安装Python3
Dec 23 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 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中的正则表达式函数介绍
2012/02/27 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
实现JavaScript中继承的三种方式
2009/10/16 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
javascript实用方法总结
2015/02/06 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python中的异常处理简明介绍
2015/04/13 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Flask-Mail用法实例分析
2018/07/21 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
中海讯通笔试题
2015/09/15 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
房产公证书范本
2014/04/10 职场文书
不错的求职信范文
2014/07/20 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫