一、基礎操作
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-hk/n/144537.html
微信掃一掃
支付寶掃一掃