一、os模塊介紹
Python中有一個os模塊,它提供了許多操作文件和目錄的功能。我們可以通過這個模塊中的函數,比如os.listdir和os.walk等來遍歷文件目錄,查看文件和目錄,判斷文件和目錄是否存在,創建和刪除文件和目錄等等。下面我們將結合實例來看一下如何通過os模塊列印輸出目錄和文件名。
二、用os.listdir函數獲取目錄下的文件及目錄列表
os模塊的listdir函數可以返回指定目錄下的所有文件和文件夾的列表。下面我們將演示如何列印出某個目錄下的所有文件和子目錄。
import os # 定義需要遍歷的目錄 rootdir = '/home/user/Desktop/' # 獲取目錄下的所有文件和子目錄 list = os.listdir(rootdir) # 遍歷該列表,列印其中所有的文件名和子目錄名 for li in list: print(li)
上述代碼中,我們通過定義rootdir變數來指定需要遍歷的目錄,並通過os.listdir函數獲取該目錄下的所有文件和子目錄的列表。然後通過遍歷該列表,將其中的所有文件和子目錄名列印輸出。
三、用os.walk遍歷文件夾及其子文件夾
os模塊的walk函數可以遍歷指定目錄下的所有文件夾及其所包含的文件和子目錄。
import os # 定義需要遍歷的目錄 rootdir = '/home/user/Desktop/' # 遍歷包含rootdir的目錄及其子目錄下的所有文件和子目錄 for root, dirs, files in os.walk(rootdir): for file in files: print(os.path.join(root, file))
上述代碼中,我們通過定義rootdir變數來指定需要遍歷的目錄,並通過os.walk函數遍歷該目錄及其子目錄下的所有文件夾及其包含的文件和子目錄。對於每一個遍歷到的子目錄,我們可以分別列印其所包含的文件和子目錄名。因此,在最內層循環中,我們將root和file通過os.path.join函數組合成完整的路徑,然後通過print函數列印出來。
四、用os.path.isdir和os.path.isfile函數判斷目標是文件夾還是文件
通過os.path.isdir和os.path.isfile函數,我們可以判斷指定路徑是一個文件夾還是文件。
import os # 定義需要遍歷的目錄 rootdir = '/home/user/Desktop/' # 遍歷包含rootdir的目錄及其子目錄下的所有文件和子目錄 for root, dirs, files in os.walk(rootdir): for file in files: filepath = os.path.join(root, file) if os.path.isfile(filepath): print('file:', filepath) elif os.path.isdir(filepath): print('dir:', filepath)
上述代碼中,我們在最內層循環中定義了一個filepath變數,用來表示當前遍歷到的文件的完整路徑。然後,通過os.path.isfile和os.path.isdir函數判斷當前遍歷到的是否為文件或文件夾,並在控制台列印出來。
五、用os.path.splitext函數獲取文件後綴名
通過os.path.splitext函數,我們可以獲取到指定路徑中文件的後綴名。
import os # 定義需要遍歷的目錄 rootdir = '/home/user/Desktop/' # 遍歷包含rootdir的目錄及其子目錄下的所有文件和子目錄 for root, dirs, files in os.walk(rootdir): for file in files: filepath = os.path.join(root, file) if os.path.isfile(filepath): ext = os.path.splitext(filepath)[1] print('ext:', ext)
上述代碼中,我們在最內層循環中定義了一個filepath變數,用來表示當前遍歷到的文件的完整路徑。然後,通過os.path.splitext函數獲取到該文件的後綴名,並在控制台列印出來。
六、總結
Python中的os模塊提供了豐富的功能,可以對文件和目錄進行各種各樣的操作。通過本文的介紹,我們可以掌握如何使用os模塊列印輸出目錄和文件名的方法,希望對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/240248.html