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讀取指定目錄下的指定類型文件
準(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打包壓縮、讀取指定目錄下的指定類型文件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python生成器實(shí)現(xiàn)簡單"生產(chǎn)者消費(fèi)者"模型代碼實(shí)例
這篇文章主要介紹了Python生成器實(shí)現(xiàn)簡單"生產(chǎn)者消費(fèi)者"模型代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python多線程編程(三):threading.Thread類的重要函數(shù)和方法
這篇文章主要介紹了Python多線程編程(三):threading.Thread類的重要函數(shù)和方法,本文講解了線程名稱、join方法、setDaemon方法等內(nèi)容,需要的朋友可以參考下2015-04-04python 控制Asterisk AMI接口外呼電話的例子
今天小編就為大家分享一篇python 控制Asterisk AMI接口外呼電話的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08使用Python Flask構(gòu)建輕量級靈活的Web應(yīng)用實(shí)例探究
Flask是一個(gè)流行的Python Web框架,以其輕量級、靈活和易學(xué)的特性受到開發(fā)者的喜愛,本文將深入探討Flask框架的各個(gè)方面,通過詳實(shí)的示例代碼,幫助大家更全面地了解和掌握這一強(qiáng)大的工具,2024-01-01Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解
Python?解釋器的站點(diǎn)配置是指一組配置和路徑設(shè)置,用于支持特定于站點(diǎn)的定制和擴(kuò)展,這些配置和路徑信息由?Python?的內(nèi)置?site?模塊提供,這篇文章主要介紹了Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解,需要的朋友可以參考下2022-01-01python生成不重復(fù)隨機(jī)數(shù)和對list亂序的解決方法
下面小編就為大家分享一篇python生成不重復(fù)隨機(jī)數(shù)和對list亂序的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python使用bar繪制堆積/帶誤差棒柱形圖的實(shí)現(xiàn)
本文先講解bar參數(shù)如何使用,然后分別演示堆積柱形圖和帶誤差柱形圖畫法。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)
Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言,它可以運(yùn)行在Windows、Mac和各種Linux/Unix系統(tǒng)上。這篇文章主要介紹了Python+Selenium+phantomjs實(shí)現(xiàn)網(wǎng)頁模擬登錄和截圖功能,需要的朋友可以參考下2019-12-12