欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 實(shí)用技巧之利用Shell通配符做字符串匹配

 更新時(shí)間:2019年08月23日 15:47:32   作者:IT派森  
這篇文章主要介紹了Python 實(shí)用技巧之利用Shell通配符做字符串匹配的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、需求

當(dāng)工作在UNIX Shell下時(shí),我們想使用常見(jiàn)的通配符模式(即:.py,Dat[0-9].csv等)來(lái)對(duì)文本做匹配。

2、解決方案

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

實(shí)例:

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

運(yùn)行結(jié)果:

True
True
True

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

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

上面代碼,在Max下運(yùn)行為False,在Windows下運(yùn)行為T(mén)rue。

如果這個(gè)大小寫(xiě)區(qū)別對(duì)我們很重要,我們就應(yīng)該使用fnmatchcase()。它會(huì)完全根據(jù)我們提供的大小寫(xiě)方法來(lái)做匹配。

實(shí)例:

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

結(jié)果:

False

關(guān)于這些函數(shù),一個(gè)常被忽略的特性是它們?cè)谔幚矸俏募降淖址畷r(shí)的潛在用途。
例如,

from fnmatch import fnmatchcase
#假設(shè)有一組街道地址,就像這樣:
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)

運(yùn)行結(jié)果:

['124 D 北京 BJ']

3、分析

fnmatch完成的匹配操作有點(diǎn)介于簡(jiǎn)單的字符串方法和全功能的正則表達(dá)式之間。
如果實(shí)際上是想編寫(xiě)匹配文件名的代碼,那應(yīng)該使用glob模塊來(lái)完成,后面會(huì)介紹到的。

總結(jié)

以上所述是小編給大家介紹的Python 實(shí)用技巧之利用Shell通配符做字符串匹配,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python的迭代器和生成器

    Python的迭代器和生成器

    由于在看一個(gè)python項(xiàng)目,遇到了迭代器和生成器的使用,正好之前自己也沒(méi)有細(xì)看這部分,今天就稍微梳理一下吧!
    2015-07-07
  • Python 獲取當(dāng)前所在目錄的方法詳解

    Python 獲取當(dāng)前所在目錄的方法詳解

    本文給大家講解的是使用python獲取當(dāng)前所在目錄的方法以及相關(guān)示例,非常的清晰簡(jiǎn)單,有需要的小伙伴可以參考下
    2017-08-08
  • Python 中使用 Selenium 單擊網(wǎng)頁(yè)按鈕功能

    Python 中使用 Selenium 單擊網(wǎng)頁(yè)按鈕功能

    Selenium是一個(gè)用于測(cè)試網(wǎng)站的自動(dòng)化測(cè)試工具,支持各種瀏覽器包括Chrome、Firefox、Safari等主流界面瀏覽器,同時(shí)也支持phantomJS無(wú)界面瀏覽器,本篇文章將介紹如何在 Python 中使用 selenium 單擊網(wǎng)頁(yè)上的按鈕,感興趣的朋友一起看看吧
    2023-11-11
  • Python給圖像添加噪聲具體操作

    Python給圖像添加噪聲具體操作

    在本文里我們給大家整理了關(guān)于Python如何給圖像添加噪聲的相關(guān)知識(shí)點(diǎn)以及操作步驟,需要的朋友們學(xué)習(xí)下。
    2019-03-03
  • Python代碼中偏函數(shù)的使用詳解

    Python代碼中偏函數(shù)的使用詳解

    Python中的偏函數(shù)是來(lái)自函數(shù)式編程的一個(gè)強(qiáng)大工具,它的主要目標(biāo)是減少函數(shù)調(diào)用的復(fù)雜性,本文將詳細(xì)介紹偏函數(shù)的具體使用,需要的小伙伴可以了解下
    2023-12-12
  • 基于python3抓取pinpoint應(yīng)用信息入庫(kù)

    基于python3抓取pinpoint應(yīng)用信息入庫(kù)

    這篇文章主要介紹了基于python3抓取pinpoint應(yīng)用信息入庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 探索Python內(nèi)置數(shù)據(jù)類(lèi)型的精髓與應(yīng)用

    探索Python內(nèi)置數(shù)據(jù)類(lèi)型的精髓與應(yīng)用

    本文探索Python內(nèi)置數(shù)據(jù)類(lèi)型的精髓與應(yīng)用,包括字符串、列表、元組、字典和集合。通過(guò)深入了解它們的特性、操作和常見(jiàn)用法,讀者將能夠更好地利用這些數(shù)據(jù)類(lèi)型解決實(shí)際問(wèn)題。
    2023-09-09
  • python json.dumps() json.dump()的區(qū)別詳解

    python json.dumps() json.dump()的區(qū)別詳解

    這篇文章主要介紹了python json.dumps() json.dump()的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 使用python繪制3維正態(tài)分布圖的方法

    使用python繪制3維正態(tài)分布圖的方法

    今天小編就為大家分享一篇使用python繪制3維正態(tài)分布圖的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • PyTorch實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的搭建詳解

    PyTorch實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的搭建詳解

    這篇文章主要為大家介紹了PyTorch實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的搭建詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論