溫馨提示×

溫馨提示×

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

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

淺析python標準庫中的glob

發布時間:2020-09-22 23:26:10 來源:腳本之家 閱讀:150 作者:luminousjj 欄目:開發技術

 glob 文件名模式匹配,不用遍歷整個目錄判斷每個文件是不是符合。

1、通配符

星號(*)匹配零個或多個字符

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

列出子目錄中的文件,必須在模式中包括子目錄名:

import glob

#用子目錄查詢文件
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

2、單個字符通配符

用問號(?)匹配任何單個的字符。

import glob

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

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

3、字符范圍

當需要匹配一個特定的字符,可以使用一個范圍

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

dir/file1.txt
dir/file2.txt

知識點補充:Python編程:glob模塊進行文件名模式匹配

文件準備

$ mkdir tmp
$ cd tmp
$ touch file1.txt
$ touch file2.txt
$ touch file3.log
$ ls
file1.txt       file2.txt       file3.log

測試

import glob

# 使用零個或多個字符通配符 * 
glob.glob("tmp/*.txt")
Out[1]: 
['file1.txt', 'file2.txt']

# 使用單字符通配符 ?
glob.glob("tmp/file?.txt")
Out[2]: 
['file1.txt', 'file2.txt']

# 使用范圍匹配
glob.glob("tmp/file[0-9].txt")
Out[3]: 
['file1.txt', 'file2.txt']

總結

到此這篇關于淺析python標準庫中的glob的文章就介紹到這了,更多相關python標準庫 glob內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女