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中的文本处理
Apr 11 Python
python实用代码片段收集贴
Jun 03 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
解决python3 json数据包含中文的读写问题
May 10 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
python实现多线程端口扫描
Aug 31 Python
Django框架 信号调度原理解析
Sep 04 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
解决pytorch下出现multi-target not supported at的一种可能原因
Feb 06 Python
Python操作CSV格式文件的方法大全
Jul 15 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 google或baidu分页代码
2009/11/26 PHP
深入php数据采集的详解
2013/06/02 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
利用Python实现Windows定时关机功能
2017/03/21 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python实现点对点聊天程序
2018/07/28 Python
python实现转圈打印矩阵
2019/03/02 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
打架检讨书800字
2014/01/10 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
党员违纪检讨书
2014/02/18 职场文书
贪污检举信范文
2015/03/02 职场文书
趣味运动会广播稿
2015/08/19 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
JavaScript执行机制详细介绍
2021/12/06 Javascript
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang