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 optparse模块使用实例
Apr 09 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python3判断url链接是否为404的方法
Aug 10 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
详解Python文件修改的两种方式
Aug 22 Python
解决Python中回文数和质数的问题
Nov 24 Python
CentOS7下安装python3.6.8的教程详解
Jan 03 Python
在python image 中实现安装中文字体
May 16 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
python入门教程之基本算术运算符
Nov 13 Python
python开发人人对战的五子棋小游戏
May 02 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
第二节 对象模型 [2]
2006/10/09 PHP
如何分别全角和半角以避免乱码
2006/10/09 PHP
php Sql Server连接失败问题及解决办法
2009/08/07 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
[JS]点出统计器
2020/10/11 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
玩转方法:call和apply
2014/05/08 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
jquery实现拖拽小方块效果
2020/12/10 jQuery
Python语言的12个基础知识点小结
2014/07/10 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
高中物理教学反思
2014/02/08 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android