真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中如何使用Shell通配符做字符串匹配-創(chuàng)新互聯(lián)

這篇文章主要介紹了Python中如何使用Shell通配符做字符串匹配,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務蘭州,10余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

1、需求

當工作在UNIX Shell下時,我們想使用常見的通配符模式(即:.py,Dat[0-9].csv等)來對文本做匹配。

2、解決方案

fnmatch模塊提供了兩個函數(shù):fnmatch()fnmatchcase(),可用來執(zhí)行這樣的匹配,使用起來非常簡單。

實例:

from fnmatch import fnmatch,fnmatchcase
print(fnmatch('mark.txt','*.txt'))
print(fnmatch('mark.txt','?ark.txt'))
print(fnmatch('mark2018.txt','?ark201[0-9].txt'))

運行結(jié)果:

True
True
True

一般來說,fnmatch()的大小寫匹配規(guī)則與底層文件相同,例如:

print(fnmatch('mark.txt','*.TXT'))

上面代碼,在Max下運行為False,在Windows下運行為True。

如果這個大小寫區(qū)別對我們很重要,我們就應該使用fnmatchcase()。它會完全根據(jù)我們提供的大小寫方法來做匹配。

實例:

from fnmatch import fnmatch,fnmatchcase
print(fnmatchcase('mark.txt','*.TXT'))

結(jié)果:

False

關(guān)于這些函數(shù),一個常被忽略的特性是它們在處理非文件名式的字符串時的潛在用途。
例如,

from fnmatch import fnmatchcase
#假設有一組街道地址,就像這樣:
address=[
  '111 A 上海 SH',
  '112 B 上海 SH',
  '113 C 上海 SH',
  '124 D 北京 BJ',
  '138 E 北京 BJ',
  '145 F 北京 BJ',
]
result=[addr for addr in address if fnmatchcase(addr,'1[1-3][1-5]*BJ')]
print(result)

運行結(jié)果:

['124 D 北京 BJ']

3、分析

fnmatch完成的匹配操作有點介于簡單的字符串方法和全功能的正則表達式之間。
如果實際上是想編寫匹配文件名的代碼,那應該使用glob模塊來完成。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中如何使用Shell通配符做字符串匹配”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!


名稱欄目:Python中如何使用Shell通配符做字符串匹配-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/codpgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部