使用os.listdir列出文件目錄

引言

在編寫代碼的過程中,有時需要獲取指定文件夾下所有文件或文件夾的名稱,並將它們展示出來。在Python語言中,使用os模塊的listdir()函數可以快速獲取指定文件夾中的文件或文件夾列表。

正文

一、os.listdir函數概述

os.listdir()函數是Python內置的一個用於獲取指定文件夾下所有文件或文件夾名稱的函數,它的語法格式如下:

dir = os.listdir(path)

其中,path參數指定需要獲取文件列表的文件夾路徑,dir是獲取到的目錄列表。

二、獲取當前目錄下所有文件及文件夾

在演示os.listdir()函數之前,我們需要先了解獲取當前目錄的代碼。獲取當前目錄,可使用os.getcwd()函數,代碼如下:

import os
#獲取當前目錄
current_directory = os.getcwd()
#輸出當前目錄
print("當前目錄為:", current_directory)

輸出結果如下:

當前目錄為: /Users/user_name/Documents

如需獲取當前目錄下的文件及文件夾名稱列表,可使用listdir()函數獲取,代碼如下:

import os
#獲取當前目錄
current_directory = os.getcwd()
#獲取當前目錄下的文件及文件夾名稱列表
folder_list = os.listdir(current_directory)
#輸出文件及文件夾名稱列表
print("當前目錄下的文件及文件夾名稱列表:")
for folder in folder_list:
    print(folder)

輸出結果如下:

當前目錄下的文件及文件夾名稱列表:
file1.txt
file2.txt
folder1
folder2

三、獲取指定路徑下的所有文件及文件夾

除了獲取當前目錄下的文件及文件夾,還可以通過指定路徑獲取指定路徑下的所有文件及文件夾的名稱列表。下面是演示代碼:

import os
#指定路徑
path = "/Users/user_name/Documents/folder1"
#獲取指定路徑下的文件及文件夾名稱列表
folder_list = os.listdir(path)
#輸出文件及文件夾名稱列表
print("指定路徑下的文件及文件夾名稱列表:")
for folder in folder_list:
    print(folder)

輸出結果如下:

指定路徑下的文件及文件夾名稱列表:
file3.txt
folder3
file4.txt

四、使用os.path.join()拼接路徑

在操作文件時,往往需要將目錄和文件名拼接成完整的路徑,此時可以使用os.path.join()函數實現路徑拼接。os.path.join()函數使用方式如下:

import os
#拼接路徑
path = os.path.join('/Users/user_name/Documents', 'file1.txt')
#輸出拼接後的路徑
print(path)

輸出結果如下:

/Users/user_name/Documents/file1.txt

在上面的例子中,os.path.join()將兩個路徑字元串拼接並自動為系統選擇正確的路徑分隔符。

五、在Windows中使用os.listdir

在Windows系統中,os.listdir()函數返回的文件名是帶有反斜杠(\)的字元串。如果需要使用這些文件名,需要對反斜杠進行轉義。

下面是在Windows環境下使用os.listdir()函數的演示代碼:

import os
#設置路徑
path = "D:\my_folder"
#獲取文件名列表
folder_list = os.listdir(path)
#輸出文件及文件夾名稱列表
print("當前目錄下的文件及文件夾名稱列表:")
for folder in folder_list:
    #替換路徑分隔符
    folder = folder.replace("\\", "/")
    print(folder)

總結

使用os.listdir()函數輕鬆獲取指定路徑下的所有文件及文件夾名稱列表。在操作文件時,使用os.path.join()函數可以實現路徑拼接,避免手動輸入路徑分隔符的問題。需要注意的是,在Windows中使用os.listdir()函數時需要對文件名進行反斜杠轉義。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZUHX的頭像ZUHX
上一篇 2024-11-03 15:16
下一篇 2024-11-03 15:16

相關推薦

發表回復

登錄後才能評論