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

Python 實用技巧之利用Shell通配符做字符串匹配

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

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ū)別對我們很重要,我們就應(yīng)該使用fnmatchcase()。它會完全根據(jù)我們提供的大小寫方法來做匹配。

實例:

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

結(jié)果:

False

關(guān)于這些函數(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)

運行結(jié)果:

['124 D 北京 BJ']

3、分析

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

總結(jié)

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

相關(guān)文章

  • Python的迭代器和生成器

    Python的迭代器和生成器

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

    Python 獲取當前所在目錄的方法詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論