中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Python中glob庫實現文件名匹配的方法

發布時間:2021-06-18 09:10:15 來源:億速云 閱讀:157 作者:chen 欄目:開發技術

本篇內容主要講解“Python中glob庫實現文件名匹配的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中glob庫實現文件名匹配的方法”吧!

目錄
  • 前言

  • 通配符

    • 星號(*)

    • 問號(?)

    • 區間匹配([0-9][a-z][A-Z])

  • 轉義元字符

    前言

    既然在Pathlib庫中提到了glob()函數,那么我們就專門用一篇內容講解文件名的匹配。其實我們有專門的一個文件名匹配庫就叫:glob。

    不過,glob庫的API非常小,但是僅僅應用于文件名的匹配綽綽有余。只要是在實際的項目中需要過濾,或者匹配一組文件,都可以使用該庫進行操作。

    通配符

    星號(*)

    話不多說,下面我們使用通配符來匹配文件名,示例如下:

    import glob
    
    for name in sorted(glob.glob('text/*')):
        print(name)

    運行之后,效果如下:

    Python中glob庫實現文件名匹配的方法

    這里不僅用*通配符獲取了目錄下的所有文件,而且還對其進行了排序。

    問號(?)

    問號(?)是用來匹配單字的,比如我們賽選上面1開頭的圖片文件。示例如下:

    import glob
    
    for name in glob.glob('text/1?.png'):
        print(name)

    運行之后,效果如下:

    Python中glob庫實現文件名匹配的方法

    區間匹配([0-9][a-z][A-Z])

    從上面兩個匹配我們看出來,glob庫的匹配規則與正則表達式有些相似。既然它能匹配模糊的,一個或多個字符,那么肯定也可以匹配區間字符。

    示例如下:

    import glob
    
    for name in glob.glob('text/15[a-z].*'):
        print(name)

    運行之后,效果如下:

    Python中glob庫實現文件名匹配的方法

    轉義元字符

    當然,上面的文件名都是常規的文件名,都是用字母與數字組成的。但是,有些人比較怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么辦呢?用反斜杠“\”轉義嗎?

    其實,我們還有更簡單的,直接使用escape()函數進行操作。示例如下:

    import glob
    
    escape_str='?*[]'
    for char in escape_str:
        pattern = 'text/*' + glob.escape(char) + '.png'
        for name in glob.glob(pattern):
            print(name)

    運行之后,效果如下:

    Python中glob庫實現文件名匹配的方法

    到此,相信大家對“Python中glob庫實現文件名匹配的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

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

    AI

    勐海县| 扎赉特旗| 义乌市| 屏东县| 安仁县| 佛冈县| 晋州市| 平谷区| 油尖旺区| 永仁县| 宁陵县| 丰县| 乐亭县| 万山特区| 海安县| 凯里市| 威海市| 定结县| 丰镇市| 重庆市| 秦皇岛市| 日照市| 苍溪县| 福海县| 七台河市| 南川市| 忻城县| 曲水县| 神池县| 横峰县| 钟山县| 中方县| 台前县| 枞阳县| 安庆市| 兴安盟| 航空| 马尔康县| 太康县| 凤城市| 隆昌县|