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入门及进阶笔记 Python 内置函数小结
Aug 09 Python
Python脚本实现下载合并SAE日志
Feb 10 Python
使用Python编写vim插件的简单示例
Apr 17 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
Jun 22 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 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 错误之引号中使用变量
2009/05/04 PHP
基于php权限分配的实现代码
2013/04/28 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
javascript 一些用法小结
2009/09/11 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
Python实现的多线程端口扫描工具分享
2015/01/21 Python
python实现一次创建多级目录的方法
2015/05/15 Python
python抓取百度首页的方法
2015/05/19 Python
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
django连接oracle时setting 配置方法
2019/08/29 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
Python如何读写CSV文件
2020/08/13 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
团拜会策划方案
2014/06/07 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js