Python通過fnmatch模塊實現文件名匹配

2021-12-22 軟體測試unittest

這篇文章主要介紹了Python通過fnmatch模塊實現文件名匹配,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

fnmatch 模塊主要用於文件名稱的匹配,其能力比簡單的字符串匹配更強大,但比使用正則表達式相比稍弱。。如果在數據處理操作中,只需要使用簡單的通配符就能完成文件名的匹配,則使用 fnmatch 模塊是不錯的選擇。

fnmatch 模塊中,常用的函數及其功能如表 1 所示。

Python fnmatch模塊常用函數及功能

函數名功能fnmatch.filter(names, pattern)對 names 列表進行過濾,返回 names 列表中匹配 pattern 的文件名組成的子集合。fnmatch.fnmatch(filename, pattern)判斷 filename 文件名,是否和指定 pattern 字符串匹配fnmatch.fnmatchcase(filename, pattern)和 fnmatch() 函數功能大致相同,只是該函數區分大小寫。fnmatch.translate(pattern)將一個 UNIX shell 風格的 pattern 字符串,轉換為正則表達式

fnmatch 模塊匹配文件名的模式使用的就是 UNIX shell 風格,其支持使用如下幾個通配符:

例如,下面程序演示表 1 中一些函數的用法及功能:

import fnmatchprint(fnmatch.filter(['dlsf', 'ewro.txt', 'te.py', 'youe.py'], '*.txt'))for file in ['word.doc','index.py','my_file.txt']:if fnmatch.fnmatch(file,'*.txt'):print(file)print([addr for addr in ['word.doc','index.py','my_file.txt','a.TXT'] if fnmatch.fnmatchcase(addr, '*.txt')])print(fnmatch.translate('a*b.txt'))

程序執行結果為:

['ewro.txt']
my_file.txt
['my_file.txt']
(?s:a.*b\.txt)\Z

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持"軟體測試unittest"。

您可能感興趣的文章:

python用Configobj模塊讀取配置文件

Python中fnmatch模塊的使用詳情

Python unittest裝飾器實現原理及代碼

對python的unittest架構公共參數token提取方法詳解

Python單元測試工具doctest和unittest詳細使用解析

Python + Requests + Unittest接口自動化測試實例分析

python pytest進階之fixture詳解

python pytest進階之conftest.py詳解

pytest之assert斷言的具體使用

Pytest接口自動化測試框架搭建模板

Python基於Hypothesis高級測試庫生成測試數據

pytest配置文件pytest.ini的詳細使用

Pytest中skip和skipif的具體使用方法

python中pytest收集用例規則與運行指定用例詳解

python pytest進階之xunit fixture詳解

python使用pytest接口自動化測試的使用

python單元測試之pytest的使用

pytest基本用法簡介

pycharm中使用request和Pytest進行接口測試的方法

通過代碼實例解析Pytest運行流程

pycharm不以pytest方式運行,想要切換回普通模式運行的操作

在pycharm中文件取消用 pytest模式打開的操作

Pytest單元測試框架如何實現參數化

Python 測試框架unittest和pytest的優劣

python單元測試框架pytest的使用示例

Python測試框架:pytest學習筆記

詳解如何使用Pytest進行自動化測試

Pytest測試框架基本使用方法詳解

測試入門以及pytest入門

Python測試框架之pytest詳解

刷完500道高頻面試題,我能去面試大廠了嗎?(持續更新)

今天也要點一鍵哦❤️❤️

  "贊"、"在看"、

相關焦點

  • Python中fnmatch模塊的使用詳情
    一起跟隨小編過來看看吧fnamtch就是filenamematch, 在python中利用符合linuxshell風格的匹配模塊來進行文件名的匹配篩選工作。fnmatch()函數匹配能力介於簡單的字符串方法和強大的正則表達式之間,如果在數據處理操作中只需要簡單的通配符就能完成的時候,這通常是一個比較合理的方案。
  • glob - 被忽略的python超強文件批量處理模塊
    Python-glob模塊簡介glob模塊通配符glob模塊是python自己帶的一個文件操作模塊,可以查找符合自己需求的的文件,並且支持通配符操作,主要包括以下三種匹配模式:**匹配所有文件,包括目錄,子目錄和子目錄裡面的文件。
  • Python文件處理實用指南
    二、獲取目錄列表基礎的目錄列表獲取函數通過os模塊通過pathlib模塊實例演示文件夾的結構如下所示:三、獲取文件屬性Python中有豐富的函數和方法用來獲取文件的信息。通過os模塊通過pathlib模塊實例演示使用os.stat()
  • 一文看懂Python對文件和文件夾的操作: 含os, shutil和glob模塊.Python學習面試必讀.
    在利用Python或Django從事Web開發時除了必須要了解Python面向對象的編程思想,還必須熟練掌握對文件夾和文件的操作。小編我精心準備了個小結,教你如何利用python進行基本的文件和文件夾操作,並重點介紹了如何使用os, shutil和glob模塊進行常見的文件和文件夾操作,如遍歷,刪除文件和查找文件。
  • 網工Python之路之paramiko 模塊實驗(三)讀取文件
    2、檢查 LSW1 至 LSW5 當前是否開啟EIGRP,命令如下, inc 後為關鍵字匹配,其實也可以匹配 --,這個大家隨意發揮,能找出來"EIGRP"就好。實驗小結本實驗主要實現腳本調去外部文件,其實 交換機 IP 可以用文件 ip_list.txt 裝起來,那麼咱們的設備指令,是不是也可以用 commnd_list.txt 裝起來呢?
  • 淺談 Python 中的模塊
    簡單來講,模塊是一個包含所有我們自己定義的函數與變量的 Python 文件,模塊可以在需要的地方通過 import 語句導入,以使用該模塊中的常量、變量、函數等,Python 也為我們提供了很多標準的模塊。
  • 通過python-pptx模塊操作ppt文件
    ppt通過其精美的可視化技巧以及良好的演示效果,成為了職場人士的必備技能。ppt的設計是一門大學問,無論是設計技巧,還是操作方法,都衍生出了專門的課程。 本文主要介紹python操作ppt的技巧,編程的優勢在於處理速度,對於高大上的ppt設計,還是需要"以人為本", 所以該模塊的使用場景主要是ppt基本元素的提取和添加,適合大量內容的轉化,比如word轉ppt, 減少大量繁瑣的人工操作,儘管提供了一些基本的樣式設計,但是並不能滿足日常辦公對ppt美觀性的要求。
  • python的模塊和序列
    通常import加載的模塊分為四個通用類別:使用python語言編寫的代碼(後綴名為py的文件)已被編譯為共享庫或DLL的C或C++的擴展使用C編寫並連接到python解釋器的內置模塊>包含一組模塊的包(package)在一些常見的場景裡,我們所描述的模塊 其實就是一個包含python定義和聲明的py文件,文件名就是模塊名字加上.py的後綴。
  • 數據處理技巧 | glob - 被忽略的超強文件批量處理模塊
    今天我將介紹Python自帶的一個模塊-glob模塊。涉及的內容主要如下:Python-glob模塊簡介glob模塊通配符glob模塊是python自己帶的一個文件操作模塊,可以查找符合自己需求的的文件,並且支持通配符操作,主要包括以下三種匹配模式:**匹配所有文件,包括目錄,子目錄和子目錄裡面的文件。
  • 文件操作So Easy!來,一起體驗下Python的Pathlib模塊~
    (os.path.expanduser('~'), 'realpython.txt'))在本教程中,你將了解如何使用pathlib模塊操作目錄和文件的名稱。前面我們提到過可以通過把字符串類型的路徑,轉換為Pathlib.Path類型的路徑,經過測試發現在Python3.4以後很多模塊以及支持該格式的路徑。不用轉為成字符串使用了。
  • Python文件路徑處理
    該模塊實現了一些實用的路徑處理函數,主要包括:__all__ = ['expanduser', 'expandvars',           'abspath', 'realpath', 'relpath',           'split', 'splitdrive', 'splitext', 'basename', 'dirname', 'join',
  • 使用Python圖像處理庫Pillow處理圖像文件
    本案例使用圖像處理庫Pillow中的模塊、對象來處理圖像:實現讀取圖像、獲取圖像信息、調整圖像大小、旋轉圖像、平滑圖像、剪切圖像等基本圖像處理任務。+sys.argv[2]for infile in glob.glob(img_path):   f,e = os.path.splitext(infile)   outfile = f + "." + sys.argv[3]   PIL.Image.open(infile).save(outfile)(1)glob模塊可以使用通配符匹配文件名
  • Python辦公自動化:OS模塊的常見用法
    :                 dir_list.append(file.name)         else:                 file_list.append(file.name)print("文件夾的總量是{},\n文件為別為{}".format(len(dir_list),dir_list))print('{}'.format('-
  • python:os模塊解析
    python的os模塊是一個用於與作業系統交互的模塊,是python的內置模塊,在使用之前需要提前導入。
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。導入re模塊的代碼比較簡單,它是這樣的:Import re今天的學習內容就是使用正則表達式匹配字符串。
  • 如何 Import 自定義的 Python 模塊?
    模塊一樣,通過import導入呢?背景在實際的工作過程中,經常會用到一個功能,如果每次編寫代碼的時候都進行重新編寫或者打開已經編寫好的函數進行複製粘貼,這樣就顯得很麻煩,有沒有什麼方法可以像導入python模塊的那樣,直接把要用的函數以模塊名+方法的形式調用呢?
  • python difflib模塊講解示例
    difflib模塊提供的類和方法用來進行序列的差異化比較,它能夠比對文件並生成差異結果文本或者html格式的差異化比較頁面,如果需要比較目錄的不同,可以使用filecmp模塊。class difflib.SequenceMatcher此類提供了比較任意可哈希類型序列對方法。此方法將尋找沒有包含『垃圾』元素的最大連續匹配序列。
  • Python(十二):常用模塊命令
    >2 常用模塊  2.1 time模塊  2.2 random模塊  2.3 OS模塊  2.4 Json模塊  2.5 正則模塊if __name__ == '__main__':    pass__name__是python內置變量,存儲的當前模塊名稱
  • Python入門教程 | 第 5 章 模塊
    在 Python 中,一個 .py 文件就稱之為一個模塊(Module)。❝🎉 使用模塊有什麼好處?❞(2)其次,編寫代碼不必從零開始。當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括 Python 內置的模塊和來自第三方的模塊。(3)使用模塊還可以避免函數名和變量名衝突。
  • Python學習筆記:模塊和包
    ,程序即可使用成員名來使用該模塊內的所有成員。模塊文件的文件名就是它的模塊名,比如module1.py的模塊名就是module1。為模塊編寫說明文檔在實際開發中也應該為模塊編寫說明文檔,否則,其他開發者都不知道該模塊有什麼作用,以及包含哪些功能為模塊編寫說明文檔很簡單,只要在模塊開始處定義一個字符串直接量即可,可通過模塊的doc屬性訪問文檔。