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打包壓縮、讀取指定目錄下的指定類型文件,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
詳解python數(shù)組中的符號(hào)...與:符號(hào)的不同之處
這篇文章主要介紹了詳解python數(shù)組中的符號(hào)...與:符號(hào)的不同之處,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
pandas中的ExcelWriter和ExcelFile的實(shí)現(xiàn)方法
這篇文章主要介紹了pandas中的ExcelWriter和ExcelFile的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
virtualenv實(shí)現(xiàn)多個(gè)版本Python共存
virtualenv用于創(chuàng)建獨(dú)立的Python環(huán)境,多個(gè)Python相互獨(dú)立,互不影響,它能夠:1. 在沒有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級(jí)不影響其他應(yīng)用2017-08-08
OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例
這篇文章主要介紹了OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python3實(shí)現(xiàn)將本地JSON大數(shù)據(jù)文件寫入MySQL數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Python3實(shí)現(xiàn)將本地JSON大數(shù)據(jù)文件寫入MySQL數(shù)據(jù)庫(kù)的方法,涉及Python針對(duì)json大數(shù)據(jù)文件的逐行讀取、mysql數(shù)據(jù)庫(kù)寫入等相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
python服務(wù)器端收發(fā)請(qǐng)求的實(shí)現(xiàn)代碼
這篇文章主要介紹了python服務(wù)器端收發(fā)請(qǐng)求的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-09-09
Pandas 對(duì)Dataframe結(jié)構(gòu)排序的實(shí)現(xiàn)方法
下面小編就為大家分享一篇Pandas 對(duì)Dataframe結(jié)構(gòu)排序的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
分析解決Python中sqlalchemy數(shù)據(jù)庫(kù)連接池QueuePool異常
這篇文章主要來給大家分析sqlalchemy數(shù)據(jù)庫(kù)連接池QueuePool的異常,給大家用詳細(xì)的圖文方式做出了解決的方案,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09

