最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python關(guān)于os.walk函數(shù)查找windows文件方式

 更新時(shí)間:2023年08月22日 14:43:42   作者:愿此后再無WA  
這篇文章主要介紹了python關(guān)于os.walk函數(shù)查找windows文件方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

OS模塊是與操作系統(tǒng)交互的模塊。這其中一個(gè)非常實(shí)際且常用的功能莫過于幫助我們查找需要的文件。

由于前面我發(fā)布過一篇比較詳細(xì)的OS模塊講解文章,這里我就不再多述。

http://www.fzitv.net/python/2959318dw.htm

直接上代碼?。?/p>

查找文件

import os
# 文件查找
def file_search():
    # os.walk的三個(gè)返回值分別是 路徑 目錄列表 文件列表  它會(huì)不斷的進(jìn)入每個(gè)目錄獲取信息
    for dir_path, listdir, files in os.walk(path):
        for file in files:
            info = dir_path + os.sep + file
            print(info)
            # 如果名字符合則用列表儲(chǔ)存起來
            # 可以把 in 換成 == 嗎? 不建議,因?yàn)榭赡軅魅氲奈募粠Ц袷降模菍?shí)際文件是有格式后綴的,如XX.txt
            if target_name in file:
                result.append(info)
    print()
    output()
# 文件輸出
def output():
    if result:
        print("文件出現(xiàn)在如下位置:")
        for i in result:
            print(i)
    else:
        print("未查詢到文件!")
if __name__ == '__main__':
    path = input("請輸入查找路徑(默認(rèn)在C盤下尋找,可直接回車):")
    path = 'C:\\' if not path else path  # 若有輸出路徑則使用給出的,否則使用默認(rèn)的C盤
    # 如果給出的路徑存在才進(jìn)行查找
    if os.path.exists(path):
        target_name = input("請輸入需要查找的文件名:")
        result = []
        file_search()
    else:
        print("您輸入的路徑不存在!")
 

其他需求

查找目錄

我們可以使用os.path模塊下的basename方法,通過路徑來截取目錄名,再看是否匹配。

那樣的話更方便,還不用看文件列表了。

def file_search():
    # os.walk的三個(gè)返回值分別是 路徑 目錄列表 文件列表  它會(huì)不斷的進(jìn)入每個(gè)目錄獲取信息
    for dir_path, listdir, files in os.walk(path):
        if os.path.basename(dir_path) == target_name:
            result.append(dir_path)
    print()
    output()

提升速度

print方法會(huì)消耗不少時(shí)間,適當(dāng)?shù)臅r(shí)候我們可以不查看當(dāng)前的路徑信息,直接等結(jié)果就好了。

另外,如果你知道有多少個(gè)文件的話可以設(shè)置一個(gè)終止條件,當(dāng)找到的文件個(gè)數(shù)滿足條件時(shí),直接終止程序。

根據(jù)文件格式查找文件

如果知道文件格式,可以根據(jù)目標(biāo)文件的后綴匹配。

如:我想在某個(gè)找所有MP3文件或其他,就可以這么做

# 文件查找
def file_search():
    # os.walk的三個(gè)返回值分別是 路徑 目錄列表 文件列表  它會(huì)不斷的進(jìn)入每個(gè)目錄獲取信息
    for dir_path, listdir, files in os.walk(path):
        for file in files:
            info = dir_path + os.sep + file
            # endswith 以···結(jié)尾  如果要查MP3文件,那么 target_name = MP3
            if file.endswith(target_name):
                result.append(info)
    print()
    output()

模糊查找

如果你知道某個(gè)比較重要的關(guān)鍵詞可以用str1 in str2語句判斷是否是符合條件的文件;如果你知道更多特征可以使用正則表達(dá)式查找。

比如我想找這幾個(gè)文件,但我只知道Redis 和 ()兩個(gè)關(guān)鍵字符串,那么應(yīng)該這么寫。

# 文件查找
def file_search():
    # os.walk的三個(gè)返回值分別是 路徑 目錄列表 文件列表  它會(huì)不斷的進(jìn)入每個(gè)目錄獲取信息
    for dir_path, listdir, files in os.walk(path):
        for file in files:
            info = dir_path + os.sep + file
            #  target_name = '.*[Rr]edis.*[((].[))]'
            ret = re.match(target_name, file)
            if ret:
                result.append(info)
    print()
    output()

其中:

.表示任意單個(gè)字符,

*表示*前面的那個(gè)字符能夠出現(xiàn)任意多次。

.*表示任意字符出現(xiàn)任意多次。

我不知道redis的r是大寫還是小寫所以用[Rr]表示,[Rr]表示單個(gè)字符可選R也可選r。

不知道括號時(shí)中文還是英文的用[((].[))]表示。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用opencv resize圖像不進(jìn)行插值的操作

    python使用opencv resize圖像不進(jìn)行插值的操作

    這篇文章主要介紹了python使用opencv resize圖像不進(jìn)行插值的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python從入門到精通之類的使用詳解

    Python從入門到精通之類的使用詳解

    Python是一種功能強(qiáng)大且廣泛使用的編程語言,它支持面向?qū)ο缶幊蹋∣OP),本文將介紹Python中類的使用,包括類的創(chuàng)建、屬性和方法的定義、繼承和多態(tài)等關(guān)鍵技術(shù)點(diǎn),希望對大家有所幫助
    2023-07-07
  • 通過Py2exe將自己的python程序打包成.exe/.app的方法

    通過Py2exe將自己的python程序打包成.exe/.app的方法

    這篇文章主要介紹了通過Py2exe將自己的python程序打包成.exe/.app的方法,需要的朋友可以參考下
    2018-05-05
  • Python實(shí)現(xiàn)快速傅里葉變換的方法(FFT)

    Python實(shí)現(xiàn)快速傅里葉變換的方法(FFT)

    這篇文章主要介紹了Python實(shí)現(xiàn)快速傅里葉變換的方法(FFT),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 在Python的循環(huán)體中使用else語句的方法

    在Python的循環(huán)體中使用else語句的方法

    這篇文章主要介紹了在Python的循環(huán)體中使用else語句的方法,else語句的使用在各種語言的學(xué)習(xí)當(dāng)中均為基本功、本文中主要介紹其在for循環(huán)中的應(yīng)用,需要的朋友可以參考下
    2015-03-03
  • python 圖像平移和旋轉(zhuǎn)的實(shí)例

    python 圖像平移和旋轉(zhuǎn)的實(shí)例

    今天小編就為大家分享一篇python 圖像平移和旋轉(zhuǎn)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 手把手教你使用Python繪制時(shí)間序列圖

    手把手教你使用Python繪制時(shí)間序列圖

    這篇文章主要介紹了手把手教你使用Python繪制時(shí)間序列圖,本文將以股價(jià)數(shù)據(jù)集為例,指導(dǎo)你從Quandl下載股價(jià)數(shù)據(jù)集,并將這些數(shù)據(jù)繪制在價(jià)格和成交量圖表上,需要的朋友可以參考下
    2022-01-01
  • [項(xiàng)目布局配置]Nosql與PythonWeb-Flask框架組合

    [項(xiàng)目布局配置]Nosql與PythonWeb-Flask框架組合

    本文主要描述了怎樣使用輕量級NoSQL數(shù)據(jù)庫與PythonWeb-Flask框架組合來進(jìn)行項(xiàng)目布局及應(yīng)用配置,需要的同學(xué)可以參考下,希望可以對大家有所進(jìn)益
    2021-08-08
  • python操作mysql中文顯示亂碼的解決方法

    python操作mysql中文顯示亂碼的解決方法

    這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫程序設(shè)計(jì)中經(jīng)常會(huì)遇到的問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • Python根據(jù)文件URL將文件轉(zhuǎn)為Base64字符串

    Python根據(jù)文件URL將文件轉(zhuǎn)為Base64字符串

    這篇文章主要為大家詳細(xì)介紹了Python根據(jù)文件URL(本地路徑或網(wǎng)絡(luò)路徑)將文件轉(zhuǎn)為Base64字符串,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-08-08

最新評論

芦溪县| 江门市| 德庆县| 云林县| 临澧县| 仁怀市| 山阳县| 深泽县| 宾阳县| 云龙县| 六盘水市| 安岳县| 湘潭市| 时尚| 冀州市| 丘北县| 黄山市| 鹰潭市| 牟定县| 苍山县| 哈密市| 集安市| 仙游县| 南涧| 诸城市| 彰化县| 茌平县| 巫溪县| 红河县| 满洲里市| 新乡市| 于都县| 如皋市| 上虞市| 扬中市| 信丰县| 宿迁市| 绥芬河市| 湛江市| 库尔勒市| 安福县|