一、基本介紹
Python中os.path模塊提供了listdir方法,用於獲取目錄下所有文件和文件夾的名稱。listdir() 方法在Python中是一個很常用的函數,能夠幫助我們獲取指定文件夾下的所有文件和子文件夾的名稱,同時還能夠進行篩選。
import os.path
path = "/path/to/dir" # 目錄路徑
file_list = os.listdir(path) # 獲取所有文件和文件夾的名稱
print(file_list)
在上面的示例中,我們通過導入os.path模塊來使用listdir()方法。通過傳入目錄路徑,我們能夠獲取到該目錄下所有的文件和文件夾名稱,保存在一個列表中。這些名稱不包含路徑信息,只是文件和文件夾的名稱。
二、獲取指定類型的文件
listdir方法默認會獲取指定路徑下所有的文件和文件夾的名稱。如果我們只想獲取指定類型的文件,可以通過一些技巧實現。
import os.path
path = "/path/to/dir" # 目錄路徑
file_list = [f for f in os.listdir(path) if f.endswith('.txt')] # 獲取所有txt文件的名稱
print(file_list)
在上面的示例中,我們通過使用列表表達式的方式,篩選出所有以.txt結尾的文件名稱,並將它們保存在一個列表中。
三、獲取指定文件夾下的所有文件和子文件夾
除了獲取指定路徑下的所有文件和文件夾,我們還可以獲取指定文件夾下的所有文件和子文件夾的名稱。我們可以使用遞歸方式遍歷指定文件夾及其子文件夾,獲取所有的文件和文件夾名稱。
import os.path
def get_all_files(path):
# 獲取指定路徑下所有文件和文件夾的名稱
file_list = os.listdir(path)
# 遍歷所有文件和文件夾
for f in file_list:
# 構造完整路徑
full_path = os.path.join(path, f)
# 如果是文件夾,則遞歸調用函數
if os.path.isdir(full_path):
get_all_files(full_path)
# 列印文件路徑
print(full_path)
get_all_files("/path/to/dir") # 獲取指定路徑下的所有文件和文件夾
在上面的示例中,我們定義了一個遞歸函數get_all_files,用於獲取指定文件夾下的所有文件和子文件夾。
該函數首先會獲取該文件夾下所有的文件和文件夾名稱,然後遍歷所有的文件和文件夾,對於每一個文件夾,我們會遞歸調用自身函數,獲取該文件夾下的所有文件和子文件夾。對於每一個文件,我們會直接列印出其完整路徑。
四、結語
Python中os.path模塊提供的listdir方法是非常常用的函數,能夠幫助我們快速獲取指定文件夾下所有文件和文件夾的名稱,並且能夠進行篩選,支持獲取指定擴展名的文件。此外,我們還可以通過遞歸遍歷方式獲取指定文件夾下的所有文件和子文件夾。
這篇文章對os.path模塊中listdir方法的使用進行了詳細的介紹,並提供了示例代碼,相信讀者看完之後一定會有所收穫。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298048.html