溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python打包壓縮、讀取指定目錄下的指定類型文件

發(fā)布時(shí)間:2020-08-22 13:36:02 來源:腳本之家 閱讀:306 作者:你這只豬兒蟲 欄目:開發(fā)技術(shù)

下面通過代碼給大家介紹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讀取指定目錄下的指定類型文件

  準(zhǔn)備工作:設(shè)置指定的路徑,使用os.listdir() 方法獲取路徑下所有的文件

import os
path = "d:\\data"              # 設(shè)置路徑
dirs = os.listdir(path)          # 獲取指定路徑下的文件

循環(huán)判斷:使用os.path.splitext()方法篩選出指定類型的文件

for i in dirs:               # 循環(huán)讀取路徑下的文件并篩選輸出
  if os.path.splitext(i)[1] == ".csv":  # 篩選csv文件
    print i              # 輸出所有的csv文件

案例展示:

# encoding: utf-8
import os
path = "d:\\data"              # 設(shè)置路徑
dirs = os.listdir(path)          # 獲取指定路徑下的文件
for i in dirs:               # 循環(huán)讀取路徑下的文件并篩選輸出
  if os.path.splitext(i)[1] == ".csv":  # 篩選csv文件
    print i              # 輸出所有的csv文件

運(yùn)行結(jié)果:

20160904.csv
20160911.csv
20160918.csv
20160925.csv
20161002.csv
20161009.csv

函數(shù)解釋:

os.listdir(path)

函數(shù)功能:返回一個(gè)列表,其中包含由path指定的目錄中的條目的名稱。 列表是任意順序的。它不包括特殊條目'.‘ 和'..‘,即使它們存在于目錄中。

import os, sys
path = "d:\\tmp\\"
dirs = os.listdir( path )
for file in dirs:
  print (file)

運(yùn)行結(jié)果:

Applicationdocs.docx
test.java
book.zip
foo.txt
Java Multiple Inheritance.html
Java Multiple Inheritance_files
java.ppt
ParallelPortViewer

os.path.splitext(path)

函數(shù)功能:分離文件名與擴(kuò)展名;默認(rèn)返回(fname,fextension)元組,可做切片操作

import os, sys
path = 'c:\\csv\\test.csv'
print os.path.splitext(path) 

運(yùn)行結(jié)果:

('c:\\csv\\test', '.csv')

總結(jié)

以上所述是小編給大家介紹的python打包壓縮、讀取指定目錄下的指定類型文件,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI