91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python項目中glob對文件進行匹配

發布時間:2020-12-11 14:00:58 來源:億速云 閱讀:221 作者:Leah 欄目:開發技術

怎么在Python項目中glob對文件進行匹配?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

glob模塊實例詳解

glob的應用場景是要尋找一系列(符合特定規則)文件名。

glob模塊是最簡單的模塊之一,內容非常少。用它可以查找符合特定規則的文件路徑名。查找文件只用到三個匹配符:”*”, “?”, “[]”。

”*”匹配0個或多個字符;

”?”匹配單個字符;

”[ ]”匹配指定范圍內的字符,如:[0-9]匹配數字。

假設以下例子目錄是這樣的。

dir
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir
dir/subdir/subfile.txt

匹配所有文件

可以用*匹配任意長度字節。glob.glob比較常用,返回一個list,也可用glob.iglob返回生成器。

import glob
for name in glob.glob('dir/*'):
  print name
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir

匹配子目錄文件

可以指定子目錄名稱,也可以用通配符代替,不顯示指定。

print 'Named explicitly:'
for name in glob.glob('dir/subdir/*'):
  print '\t', name

print 'Named with wildcard:'
for name in glob.glob('dir/*/*'):
  print '\t', name
Named explicitly:
  dir/subdir/subfile.txt
Named with wildcard:
  dir/subdir/subfile.txt

單字節通配符匹配

除了*以外,還有?匹配單個字符。比如下面這個例子,匹配以file開頭,以.txt結尾,中間是任一字符的文件。

for name in glob.glob('dir/file?.txt'):

print name

dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt

字符區間匹配[0-9]

比如匹配后綴前是數字的文件。

for name in glob.glob('dir/*[0-9].*'):

print name

dir/file1.txt

dir/file2.txt

Ref:

官方文檔

Python Module of the Week

補充知識:Python glob 遞歸遍歷匹配文件;os.makedirs()遞歸創建目錄

Glob遞歸遍歷匹配文件

簡約版

在python中,glob模塊用來查找匹配文件

常用的匹配規則:

: 匹配所所有

? : 匹配一個字符

如果沒有匹配的,glob.glob(path)將返回一個空的list:[]

from glob import glob
file_path = "/home/lihuiyu/Code/results_S2_W20040/*/*.pth"
print(glob(file_path))

排序版

我喜歡偷懶,所以,Coding能解決的問題一般不會人工解決;

我喜歡整潔,所以,Coding苛求完美,結果奢求整齊劃一。

import re
from glob import glob
def atoi(s):
 return int(s) if s.isdigit() else s
def natural_keys(text):
 return [atoi(c) for c in re.split('(\d+)', text)]
 
file_path = "/home/lihuiyu/Code/results_S2_W20040/*/*.pth"
file_list = glob(file_path)
file_list.sort(key=natural_keys)
for name in file_list:
  print(name)

os.makedirs()遞歸創建目錄

os.mkdir()創建指定的目錄,但如果其上一級目錄不存在,則無法創建成功。

os.makedirs()實現遞歸創建目錄的功能。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天峻县| 土默特右旗| 龙门县| 黄大仙区| 和政县| 姚安县| 万盛区| 潼南县| 桦甸市| 涿鹿县| 绿春县| 定州市| 剑阁县| 融水| 马鞍山市| 长武县| 偏关县| 澄迈县| 南京市| 马关县| 兴仁县| 佛冈县| 当阳市| 乃东县| 江口县| 安龙县| 襄城县| 武宁县| 保德县| 天柱县| 柳河县| 津南区| 禄丰县| 于都县| 冀州市| 尼玛县| 莱阳市| 保亭| 和平县| 伊金霍洛旗| 砚山县|