在Python編程中,經常需要使用到獲取指定目錄下所有文件及文件夾的列表。os.listdir()方法是Python中用於獲取指定目錄下的所有文件和文件夾名的函數,返回值是一個字符串列表。通過os.listdir()方法,可以方便地獲取到指定目錄下的所有文件和文件夾。在本文中,我們將介紹os.listdir()方法的用法,並給出一些使用方法及示例。
一、os.listdir()方法的基本用法
os.listdir()方法的基本語法如下所示:
os.listdir(path)
其中,path是一個字符串,用於指定需要獲取的目錄的路徑。
例如,我們可以使用如下代碼獲取當前目錄下的所有文件及文件夾:
import os
path = "."
file_list = os.listdir(path)
print(file_list)
這段代碼的運行結果可能是:
['example.py', 'test', 'text.txt']
通過上述代碼,我們可以非常方便地獲取到當前目錄下的所有文件及文件夾。
二、os.listdir()方法的使用技巧
1、使用os.path.join()函數拼接路徑
在實際的應用場景中,我們經常需要獲取指定文件夾下的所有文件及文件夾的路徑。可以通過os.path.join()函數將文件夾路徑和文件/文件夾名稱進行拼接,從而得到文件/文件夾的完整路徑。
例如,我們要獲取當前目錄下名為test的文件夾中所有文件及文件夾的完整路徑,可以使用如下代碼:
import os
folder_name = "test"
path = os.path.join(os.getcwd(), folder_name)
file_list = os.listdir(path)
print(file_list)
上述代碼中,os.getcwd()方法用於獲取當前工作路徑,即當前Python腳本所在的目錄。然後,使用os.path.join()函數將當前目錄和要獲取的文件夾名拼接成完整路徑,保存在path變量中。最後,使用os.listdir()方法獲取指定目錄下的所有文件及文件夾。
2、使用for循環遍歷文件夾中的所有文件
通過上面的代碼,我們可以獲取到文件夾中所有文件及文件夾的名稱列表。但是,在實際的應用場景中,我們經常需要對文件夾中的每一個文件進行操作,例如讀取文件內容、重命名文件等。可以使用for循環遍歷文件夾中的所有文件及文件夾。
例如,我們可以使用如下代碼讀取當前目錄下名為text.txt的文件中的內容:
import os
file_name = "text.txt"
path = os.path.join(os.getcwd(), file_name)
with open(path, 'r') as f:
content = f.read()
print(content)
上述代碼首先使用os.getcwd()方法獲取當前工作路徑,然後使用os.path.join()函數將文件名和路徑拼接成完整路徑,保存在path變量中。最後,使用with語句打開文件,並讀取文件內容。需要注意的是,使用with語句打開文件時,可以省略close()方法。
3、使用遞歸遍歷文件夾中的所有文件
如果文件夾中還包含其他文件夾,則可以使用遞歸的方式遍歷文件夾中的所有文件。遞歸遍歷的實現方式可以使用os.walk()函數。
例如,我們可以使用如下代碼遍歷當前目錄下的所有文件和文件夾,並輸出它們的完整路徑:
import os
for root, dirs, files in os.walk("."):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
上述代碼中,os.walk()方法返回根目錄、子目錄和文件的三元組。其中root是當前目錄路徑,dirs是當前目錄下所有子目錄的名稱,files是當前目錄下所有文件的名稱。通過for循環遍歷這三個列表,可以遍歷當前目錄及其子目錄下的所有文件及文件夾。
三、總結
os.listdir()方法是Python中常用的用來獲取指定目錄下所有文件及文件夾名的函數。通過os.listdir()方法,可以方便地獲取到指定目錄下的所有文件和文件夾。同時,本文介紹了使用os.path.join()函數拼接路徑、使用for循環遍歷文件夾中的所有文件、使用遞歸遍歷文件夾中的所有文件等技巧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194540.html