python打包压缩、读取指定目录下的指定类型文件

yipeiwu_com5年前Python基础

下面通过代码给大家介绍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设计】网站的支持!

相关文章

Django项目中包含多个应用时对url的配置方法

Django项目中包含多个应用时对url的配置方法

一个Django工程中多数情况下会存在多个应用, 如何针对多个应用的url进行配置呢, 有以下两种方案: 1、在Django工程的urls.py中针对每个应用分别配置不同的url路径 2...

libreoffice python 操作word及excel文档的方法

1、开始、关闭libreoffice服务; 开始之前同步字体文件时间,是因为创建soffice服务时,服务会检查所需加载的文件的时间,如果其认为时间不符,则其可能会重新加载,耗时较长,因...

Python对CSV、Excel、txt、dat文件的处理

python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) 1、读取 1.1基于python csv库 #3.读取csv至字典x,y import csv...

新手入门Python编程的8个实用建议

新手入门Python编程的8个实用建议

前言 我们在用Python进行机器学习建模项目的时候,每个人都会有自己的一套项目文件管理的习惯,我自己也有一套方法,是自己曾经踩过的坑踩过的雷总结出来的,现在在这里分享一下给大家,因为很...

使用Python制作微信跳一跳辅助

使用Python制作微信跳一跳辅助

1.  前言 微信的跳一跳相信大家都很熟悉了,而且现在各种外挂、辅助也是满天飞,反正本人的好友排行榜中已经是八九百都不足为奇了。某宝上一搜一堆结果,最低的居然只要3块多,想刷多...