Python代碼實現:列出操作系統中的文件和目錄

一、基礎操作

import os

#獲取當前目錄
current_path = os.getcwd()
print("當前目錄為:", current_path)

#獲取目錄下所有文件和文件夾
all_files = os.listdir(current_path)  
for file in all_files:
    print(file)

Python內置了os模塊,可以通過該模塊實現對操作系統的基本操作,包括訪問文件和目錄等。在這個例子中,我們首先通過os.getcwd()方法獲取當前目錄,並利用os.listdir()方法獲取當前目錄下所有的文件和文件夾,然後使用for循環逐個打印出來。

二、遍歷子目錄

import os

#遍歷當前目錄及其子目錄下的所有文件和文件夾
def list_files(start_path):
    for root, dirs, files in os.walk(start_path):
        for file in files:
            print(os.path.join(root, file))

list_files(os.getcwd())

如果需要遍歷指定目錄下的所有子目錄,上述代碼需要做一些修改。這裡通過定義一個函數list_files來實現目錄遍歷。os.walk()方法可以很方便地實現遍歷目錄。os.walk()返回值是一個三元turple,分別代表當前遍歷的目錄,當前目錄下的所有子目錄,以及當前目錄下的所有文件。這裡通過for循環嵌套打印出所有文件的路徑。

三、根據文件類型過濾

import os

#根據文件類型過濾
def list_files(start_path, extension):
    for root, dirs, files in os.walk(start_path):
        for file in files:
            if file.endswith(extension):
                    print(os.path.join(root, file))

list_files(os.getcwd(), '.txt')

通過在os.walk()函數返回值中加入一個過濾條件,可以篩選出我們所需要的文件。這裡通過定義extension來作為文件類型參數,然後在日誌中增加一個條件判斷if file.endswith(extension),來篩選.txt文件。

四、多路徑遍歷

import os

#多路徑遍歷
def list_files(paths, extension):
    for path in paths:
        for root, dirs, files in os.walk(path):
            for file in files:
                if file.endswith(extension):
                    print(os.path.join(root, file))

list_files([r'C:\temp', r'D:\documents'], '.txt')

上述代碼中我們只遍歷了一個目錄,如果需要多路徑遍歷的話,只需要將目錄列表作為參數傳入即可。這裡把所有路徑放在一個list中,遍歷其中所有目錄下的所有.txt文件。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NHKL的頭像NHKL
上一篇 2024-10-25 13:53
下一篇 2024-10-25 13:54

相關推薦

發表回復

登錄後才能評論