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批量提交沙箱问题实例
Oct 08 Python
python threading模块操作多线程介绍
Apr 08 Python
Python简明入门教程
Aug 04 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
python实现按长宽比缩放图片
Jun 07 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
pandas 对group进行聚合的例子
Dec 27 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
python给视频添加背景音乐并改变音量的具体方法
Jul 19 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
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
php中hashtable实现示例分享
2014/02/13 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
Python笔记之facade模式
2019/11/20 Python
python中K-means算法基础知识点
2021/01/25 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
爱游人:Travelliker
2017/09/05 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
《唯一的听众》教学反思
2014/02/20 职场文书
大学军训感言600字
2014/02/25 职场文书
大学军训心得体会800字
2016/01/11 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang