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

淺析Python3中遍歷目錄的三種方法

 更新時間:2023年07月18日 09:45:20   作者:Commas.KM  
在學(xué)習(xí)中,工作中,我們經(jīng)常會說遍歷一下當(dāng)前目錄咯,那么Python3中遍歷目錄的方法具體都有哪些呢并且如何操作呢,下面小編就來和大家簡單聊聊吧

一、目錄、文件夾、文件以及路徑的概念

在學(xué)習(xí)中,工作中,我們經(jīng)常會說遍歷一下當(dāng)前目錄咯。但是一旦被問到這個目錄到底是什么的時候,明明我們感覺自己知道是什么,卻又說不清楚到底是什么。沒關(guān)系,接下來我們來了解下,下次就可以說清楚啦……

中文名英文名說明
目錄directory一系列文件和文件夾的集合
文件夾folder用來存放文件和文件夾的容器
文件file用來存儲信息的單個數(shù)據(jù)單元(文本、圖像、聲音等等)
路徑path用于定位文件的路徑

從上表可以看出,目錄和文件夾意思差不多……

實際上目錄是DOS操作系統(tǒng)時期的稱呼,而Windows操作系統(tǒng)時期的稱呼為文件夾。

嚴(yán)格來說,目錄不是文件夾,因為目錄映射到存儲介質(zhì)上的物理位置,而文件夾不一定,例如桌面上的文件夾。

現(xiàn)在我們回過頭來看“遍歷一下當(dāng)前目錄”的含義,實際上就是遍歷一系列的文件與文件夾。

這些文件與文件夾和當(dāng)前路徑有著千絲萬縷的關(guān)系,因此我們會覺得當(dāng)前目錄的感覺又有點側(cè)重于路徑,不過它絕不是路徑。

二、三種遍歷目錄的方法

代碼返回說明
os.listdir(path)返回查詢路徑下的所有目錄的列表,不包括子孫目錄
os.walk(GenericPath)返回一個三元組的迭代器,其中元組(root,dirs,files)
os.scandir(GenericPath)返回以一個DirEntry(目錄條目)對象的迭代器

先看看當(dāng)前目錄結(jié)構(gòu),這次就在命令行看吧。(想快速了解命令行如何使用,請看我CSDN中的另外一篇博客《Windows中的CMD不需要死記硬背》)

首先,我們得了解怎么用tree來查看當(dāng)前目錄樹,執(zhí)行tree /?

PS D:\Mine\PythonWork\k001_dir> tree /?
以圖形顯示驅(qū)動器或路徑的文件夾結(jié)構(gòu)。       
TREE [drive:][path] [/F] [/A]
   /F   顯示每個文件夾中文件的名稱。       
   /A   使用 ASCII 字符,而不使用擴展字符。

然后,我們使用tree /F查看當(dāng)前目錄樹結(jié)構(gòu),如下所示

PS D:\Mine\PythonWork\k001_dir> tree /F
文件夾 PATH 列表    
卷序列號為 277B-1704
D:.
│  0.txt
│  main.py

└─父目錄
    │  1.txt        
    │
    └─子目錄        
        │  21.txt   
        │  22.txt   
        │  23.txt   
        │
        └─孫目錄
                31.txt
                32.txt

話不多說,直接代碼

# coding:utf-8
import os
def traversal_dirs(path):
    # 遞歸遍歷目錄 listdir
    for dir in os.listdir(path):
        dir = os.path.join(path, dir)
        print(dir)
        if os.path.isdir(dir):
            traversal_dirs(dir)
def untraversal_walk(path):
    # 無需遞歸遍歷目錄 walk
    for root, dirs, files in os.walk("."):
        # print("【root】:", root)
        # print("【文件夾】:", dirs)
        # print("【文件】:", files)
        # print("-"*20)
        for name in files:
            print(os.path.join(root, name))
        for name in dirs:
            print(os.path.join(root, name))
def traversal_scandirs(path):
    # 遞歸遍歷目錄 candirs
    for item in os.scandir(path):
        print(item.path)
        if item.is_dir():
            traversal_scandirs(item.path)
if __name__ == "__main__":
    # NO1:只可以遍歷當(dāng)前目錄下的文件與文件夾
    print("="*20, "traversal_dirs,結(jié)果如下:")
    traversal_dirs(".")
    # NO2:遍歷選擇的目錄下所有文件夾與文件
    print("="*20, "untraversal_walk,結(jié)果如下:")
    untraversal_walk(".")
    # NO3:只可以遍歷當(dāng)前目錄下的文件與文件夾
    print("="*20, "traversal_scandirs,結(jié)果如下:")
    traversal_scandirs(".")

最后,執(zhí)行python main.py,結(jié)果輸出:

PS D:\Mine\PythonWork\k001_dir> python main.py
==================== traversal_dirs,結(jié)果如下:
.\0.txt
.\main.py
.\父目錄
.\父目錄\1.txt
.\父目錄\子目錄
.\父目錄\子目錄\21.txt
.\父目錄\子目錄\22.txt
.\父目錄\子目錄\23.txt
.\父目錄\子目錄\孫目錄
.\父目錄\子目錄\孫目錄\31.txt
.\父目錄\子目錄\孫目錄\32.txt
==================== untraversal_walk,結(jié)果如下:
.\0.txt
.\main.py
.\父目錄
.\父目錄\1.txt
.\父目錄\子目錄
.\父目錄\子目錄\21.txt
.\父目錄\子目錄\22.txt
.\父目錄\子目錄\23.txt
.\父目錄\子目錄\孫目錄
.\父目錄\子目錄\孫目錄\31.txt
.\父目錄\子目錄\孫目錄\32.txt
==================== traversal_scandirs,結(jié)果如下:
.\0.txt
.\main.py
.\父目錄
.\父目錄\1.txt
.\父目錄\子目錄
.\父目錄\子目錄\21.txt
.\父目錄\子目錄\22.txt
.\父目錄\子目錄\23.txt
.\父目錄\子目錄\孫目錄
.\父目錄\子目錄\孫目錄\31.txt
.\父目錄\子目錄\孫目錄\32.txt

到此這篇關(guān)于淺析Python3中遍歷目錄的三種方法的文章就介紹到這了,更多相關(guān)Python3遍歷目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python文本特征抽取與向量化算法學(xué)習(xí)

    Python文本特征抽取與向量化算法學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了Python文本特征抽取與向量化算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • itchat接口使用示例

    itchat接口使用示例

    這篇文章主要介紹了itchat接口使用示例,itchat接口的相關(guān)知識,這里是一段代碼示例,這里分享給大家,供需要的朋友參考。努力學(xué)習(xí)中~
    2017-10-10
  • python 簡單搭建阻塞式單進程,多進程,多線程服務(wù)的實例

    python 簡單搭建阻塞式單進程,多進程,多線程服務(wù)的實例

    下面小編就為大家?guī)硪黄猵ython 簡單搭建阻塞式單進程,多進程,多線程服務(wù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 跟老齊學(xué)Python之畫圈還不簡單嗎?

    跟老齊學(xué)Python之畫圈還不簡單嗎?

    畫圈?換一個說法就是循環(huán)。循環(huán),是高級語言編程中重要的工作?,F(xiàn)實生活中,很多事情都是在循環(huán),日月更迭,斗轉(zhuǎn)星移,無不是循環(huán);王朝更迭,尋常百姓,也都是循環(huán)。
    2014-09-09
  • pytorch sampler對數(shù)據(jù)進行采樣的實現(xiàn)

    pytorch sampler對數(shù)據(jù)進行采樣的實現(xiàn)

    今天小編就為大家分享一篇pytorch sampler對數(shù)據(jù)進行采樣的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 用Python爬取各大高校并可視化幫弟弟選大學(xué),弟弟直呼牛X

    用Python爬取各大高校并可視化幫弟弟選大學(xué),弟弟直呼牛X

    高考結(jié)束了,接下來最重要的就是玩玩玩,然后準(zhǔn)備報志愿吧.中國教育在線網(wǎng)顯示國內(nèi)目前共有2857所高等院校,報一個理想的學(xué)校簡直是千里挑一.正好表弟求著我讓我?guī)退x學(xué)校,我想著十年寒窗苦讀也不容易不如就用python幫幫他.分析一下目前國內(nèi)的大學(xué),需要的朋友可以參考下
    2021-06-06
  • 使用python turtle畫高達(dá)

    使用python turtle畫高達(dá)

    今天小編就為大家分享一篇使用python turtle畫高達(dá),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 詳解python程序中的多任務(wù)

    詳解python程序中的多任務(wù)

    這篇文章主要介紹了python程序中多任務(wù)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python 字典套字典或列表的示例

    python 字典套字典或列表的示例

    今天小編就為大家分享一篇python 字典套字典或列表的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python實現(xiàn)股票歷史數(shù)據(jù)可視化分析案例

    python實現(xiàn)股票歷史數(shù)據(jù)可視化分析案例

    股票交易數(shù)據(jù)分析可直觀股市走向,對于如何把握股票行情,快速解讀股票交易數(shù)據(jù)有不可替代的作用,感興趣的可以了解一下
    2021-06-06

最新評論

嘉禾县| 加查县| 夏河县| 泊头市| 仪陇县| 凤凰县| 土默特右旗| 白河县| 和田县| 岱山县| 雷山县| 鄱阳县| 明光市| 永顺县| 宁安市| 琼中| 香港 | 巢湖市| 康平县| 休宁县| 涟水县| 上饶县| 天长市| 广昌县| 双峰县| 榆社县| 陕西省| 宜丰县| 鸡西市| 兰州市| 武胜县| 宁津县| 盖州市| 买车| 朝阳县| 庄浪县| 德州市| 弥勒县| 定兴县| 香河县| 瓦房店市|