Python操作文件夾:使用os.listdir()函數列出目錄中的文件和子文件夾

一、os.listdir()函數介紹

os.listdir(path=’.’)是Python標準庫中的一個函數,用於返回指定路徑下的所有文件和文件夾的名稱列表。如果沒有指定路徑,默認為當前工作目錄。

其返回值是一個包含文件和文件夾名稱的列表,列表中的每一項都是字元串類型。

比如,在當前工作目錄下有以下文件和子文件夾:

folder1/
folder2/
file1.txt
file2.jpg

那麼使用os.listdir()函數返回的列表為:

['folder1', 'folder2', 'file1.txt', 'file2.jpg']

二、使用os.listdir()函數列出文件夾中的內容

首先,需要使用Python的os模塊導入os庫:

import os

接下來,使用os.listdir()函數獲取文件夾中的內容:

folder_path = '/path/to/folder' # 文件夾路徑
file_list = os.listdir(folder_path) # 獲取文件夾中的內容
print(file_list) # 列印文件夾中的所有文件和文件夾名稱

可以通過循環遍歷獲取到的文件列表,來對文件夾中的子文件夾或文件進行操作:

for f in file_list:
    if os.path.isdir(os.path.join(folder_path, f)): # 如果是文件夾
        print('folder:', f)
    else:
        print('file:', f)

以上代碼可以判斷獲取到的每一項是否是文件夾,在控制台輸出不同的結果。例如,如果文件夾中有一個名為test的文件夾和一個名為readme.md的文件,那麼程序輸出的結果如下:

folder: test
file: readme.md

三、使用os.walk()函數列出文件夾中的文件

os.walk()函數可以遍歷文件夾和其子文件夾中的所有文件和子文件夾,返回值是包含三個元素的元組,分別是:

  • 當前文件夾路徑
  • 當前文件夾中的所有文件夾名稱列表
  • 當前文件夾中的所有文件名稱列表

在代碼中通過循環遍歷這個元組,就可以獲取到文件夾中的所有文件和子文件夾。

folder_path = '/path/to/folder' # 文件夾路徑
for root, dirs, files in os.walk(folder_path):
     for file_name in files:
         print(os.path.join(root, file_name)) # 列印每個文件的絕對路徑

以上代碼可以列印出輸入文件夾及其子文件夾中的所有文件路徑。如果有文件夾中有一個名為test的子文件夾,文件夾中的文件有readme.md和test.py,那麼輸出的結果如下:

/path/to/folder/readme.md
/path/to/folder/test.py
/path/to/folder/test/test.md
/path/to/folder/test/test.py

四、os.listdir()與os.walk()函數的不同

os.listdir()函數只會遍歷指定文件夾中的所有文件和子文件夾,而不會遞歸遍歷子文件夾中的文件和文件夾。

os.walk()函數會遞歸遍歷指定文件夾及其子文件夾中的所有文件和子文件夾。

需要根據具體的需求選擇不同的函數。

五、結語

通過本文的學習,讀者可以使用Python中的os.listdir()和os.walk()函數列出文件夾中的所有文件和子文件夾名稱,以及遍歷文件夾和子文件夾中的所有文件。

使用這兩個函數可以大大提高文件夾操作的效率,讓文件管理變得更加簡單便捷。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246017.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:12
下一篇 2024-12-12 13:12

相關推薦

  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29

發表回復

登錄後才能評論