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

Python文件遍歷os.walk()與os.listdir()使用及說明

 更新時間:2022年11月16日 10:18:54   作者:KGzhang  
這篇文章主要介紹了Python文件遍歷os.walk()與os.listdir()使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python文件遍歷os.walk()與os.listdir()

在圖片處理過程中,樣本數(shù)據的組織是個常見的問題,樣本組織好了,后面數(shù)據轉換、讀取等都能得心應手。

在這里講一下我在準備樣本時的一些心得

首先是os.walk()函數(shù)

os.walk(path)返回三個值:

  • parent
  • dirnames
  • filenames

分別表示path的路徑、path路徑下的文件夾的名字和path路徑下文件夾以外的其他文件;

我用下面的代碼來對樣本圖片建立標簽:

不過不知walk到底是怎么遍歷的,我生成的標簽順序亂了

所以這就想到用listdir來重新做標簽:

os.listdir(path)返回一個包含path路徑下所有文件的列表

我用下面的方法來建立標簽:

不過還是之前一樣的亂序,最后采用sort():

先獲取文件夾下圖片文件的名字列表list,再對圖片的序號進行排序,將排序好的文件名列表逐一寫入txt中

os.walk和os.listdir遍歷目錄比較

假設存在下面的目錄和文件結構:

/a ----> /b ----> 1.py,2.py

    ----> /c  ----> 3.py , 4.py

    ----> 5.py

    ----> 6.py

os.walk()

運行下面的測試代碼

import os
for root, dirs, files in os.walk('../a'): ?# 指向當前的測試文件夾
? ? print(root)
? ? print(dirs)
? ? print(files)

輸出結果,我們解析一下輸出結果

../a                  # 當前遍歷的根目錄 
['b', 'c']            # 根目錄下的兩個子目錄b,c
['5.py', '6.py']      # 根目錄下的兩個子文件
../a\b                # 遍歷根目錄下的子目錄b
[]                    # 子目錄b中的子目錄
['1.py', '2.py']      # 子目錄b中的文件
../a\c                # 遍歷根目錄下的子目錄c
[]                    # 子目錄c中的子目錄
['3.py', '4.py']      # 子目錄c中的文件

os.listdir()

運行如下測試代碼

for f in os.listdir('../a'):
? ? print(f)

輸出結果

5.py
6.py
b
c

兩種方法比較

os.walk將當前目錄下的所有子目錄及其中的內容,都會遍歷到;而os.listdir只會遍歷當前目錄中所包含的內容。當存在如下的目錄級別時

/a  ---->   /b ------> b1.txt  b2.txt

     ---->   /c  ------> c1.txt  c2.txt

     ---->   /d  ------> d1.txt d2.txt

當我們想要將所有的txt文件提取出來,此時使用os.walk是最好的選擇,直接將files遍歷即可,因為files在其父目錄成為根目錄時,會將當前文件夾中的所有files遍歷出來,即:

import os?
for root, dirs, files in os.walk('./a'):
? ? for file in files:
? ? ? ? print(file)

#運行結果
b1.txt
b2.txt
c1.txt
c2.txt

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用Keras實現(xiàn)Tensor的相乘和相加代碼

    使用Keras實現(xiàn)Tensor的相乘和相加代碼

    這篇文章主要介紹了使用Keras實現(xiàn)Tensor的相乘和相加代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python多種接口請求方式示例詳解

    Python多種接口請求方式示例詳解

    這篇文章主要介紹了Python多種接口請求方式示例?,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下
    2024-08-08
  • 利用Python實現(xiàn)自動化監(jiān)控文件夾完成服務部署

    利用Python實現(xiàn)自動化監(jiān)控文件夾完成服務部署

    本篇文章將為大家詳細介紹如何利用Python語言實現(xiàn)監(jiān)控文件夾,以此輔助完成服務的部署動作,文中的示例代碼講解詳細,感興趣的可以嘗試一下
    2022-07-07
  • 解決Django中checkbox復選框的傳值問題

    解決Django中checkbox復選框的傳值問題

    這篇文章主要介紹了解決Django中checkbox復選框的傳值問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python抽取指定url頁面的title方法

    python抽取指定url頁面的title方法

    今天小編就為大家分享一篇python抽取指定url頁面的title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中三種輸出格式總結(%,format,f-string)

    python中三種輸出格式總結(%,format,f-string)

    在Python語言編程中,我們會與字符串打交道,那務必會輸出字符串來查看字符串的內容,下面這篇文章主要給大家介紹了關于python中三種輸出格式的相關資料,三種格式分別是%,format,f-string,需要的朋友可以參考下
    2022-03-03
  • 什么是Python中的匿名函數(shù)

    什么是Python中的匿名函數(shù)

    在本篇文章里小編給大家整理的是關于Python匿名函數(shù)知識點總結,需要的朋友們可以學習參考下。
    2020-06-06
  • PyQt5 pyqt多線程操作入門

    PyQt5 pyqt多線程操作入門

    本篇文章主要介紹了PyQt5 pyqt多線程操作入門,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python開源庫?Streamlit?應用案例

    Python開源庫?Streamlit?應用案例

    Streamlit是一個開源Python框架,專為數(shù)據科學家和工程師設計,可快速構建交互式Web應用,無需前端開發(fā)知識,支持數(shù)據可視化、模型集成、文件上傳及多種部署方式,簡化了數(shù)據驅動項目開發(fā)流程,本文給大家介紹Python開源庫Streamlit應用案例,感興趣的朋友一起看看吧
    2025-09-09
  • 使用pandas中的DataFrame.rolling方法查看時間序列中的異常值

    使用pandas中的DataFrame.rolling方法查看時間序列中的異常值

    Pandas是Python中最受歡迎的數(shù)據分析和處理庫之一,提供了許多強大且靈活的數(shù)據操作工具,在Pandas中,DataFrame.rolling方法是一個強大的工具,在本文中,我們將深入探討DataFrame.rolling方法的各種參數(shù)和示例,以幫助您更好地理解和應用這個功能
    2023-12-12

最新評論

唐山市| 九江县| 九龙县| 叶城县| 孝感市| 额济纳旗| 五指山市| 新巴尔虎右旗| 黔东| 通榆县| 黔南| 逊克县| 漯河市| 北碚区| 萨迦县| 庆元县| 红原县| 神农架林区| 澳门| 登封市| 深圳市| 昭通市| 镇坪县| 平山县| 金塔县| 乌苏市| 青神县| 文登市| 阜阳市| 长丰县| 保亭| 镇康县| 沙洋县| 五河县| 腾冲县| 凤凰县| 鹿泉市| 开平市| 铁岭县| 保山市| 安陆市|