第一種深度優先,即先遍歷當前目錄下的第乙個目錄裡面的第乙個目錄,以此類推,然後再逐層向上遍歷。**如下:
import os
def gci(filepath):
#遍歷filepath下所有檔案,包括子目錄
files = os.listdir(filepath)
for fi in files:
fi_d = os.path.join(filepath,fi)
if os.path.isdir(fi_d):
print(os.path.join(filepath, fi_d))
gci(fi_d)
else:
print(os.path.join(filepath,fi_d))#遞迴遍歷/root目錄下所有檔案
gci('f:\\test')
執行結果:
第二種廣度優先,是先把當前目錄下的所有檔案資料夾列印出來,再分別進每乙個資料夾列印相應的檔案資料夾,再一次類推,逐層往下。**如下:
import os.path
rootdir = 'f:\\test' # 指明被遍歷的資料夾
def gci(rootdir):
for parent,dirnames,filenames in os.walk(rootdir): #三個引數:分別返回1.父目錄 2.所有資料夾名字(不含路徑) 3.所有檔案名字
for dirname in dirnames: #輸出資料夾資訊
#print("parent is:" + parent)
#print("dirname is:" + dirname)
#print("the full name of the file is:" + os.path.join(parent, dirname)) # 輸出資料夾路徑資訊
print(os.path.join(parent, dirname)) # 輸出資料夾路徑資訊
for filename in filenames: # 輸出檔案資訊
#print("parent is:" + parent)
#print("filename is:" + filename)
#print("the full name of the file is:" + os.path.join(parent, filename)) # 輸出檔案路徑資訊
print(os.path.join(parent, filename)) # 輸出檔案路徑資訊
gci(rootdir)
執行結果:
cmd for 遍歷目錄 python 遍歷目錄樹
假定你希望對某個資料夾中的所有檔案改名,包括該資料夾中所有子資料夾中 的所有檔案。也就是說,你希望遍歷目錄樹,處理遇到的每個檔案。寫程式完成這 件事,可能需要一些技巧。好在,python 提供了乙個函式,替你處理這個過程。請看 c delicious 資料夾及其內容,如圖所示。這裡有乙個例子程式,針...
python 遍歷目錄
s os.sep print s root d s test s print root for rt,dirs,files in os.walk root for f in files print f fname os.path.splitext f print fname new fname 0 ...
python遍歷目錄
一 os.walk 函式使用。遍歷在古代漢語中的意思是全部走遍,到處周遊。在python中,遍歷的意思也和這差不多,就是對指定目錄下的全部目錄 包括子目錄 及檔案執行一遍。在python中,os模組的walk 函式用於實現遍歷目錄的功能。walk 函式的基本語法格式如下 os.walk top to...