一、遞歸目錄輸出所有文件
#導入os模塊,os模塊提供豐富的文件和目錄的處理方法
import os
#listdir方法返回path指定文件夾下的包含的文件或者文件夾名字列表,注意:不能遞歸查詢;返回只有名稱,不包含路徑
dir_list= os.listdir(待查找的路徑)
#遞歸查詢指定目錄下所有文件,輸出格式:路徑/文件名
def output_file(file_dir):
dir_list = os.listdir(file_dir)
#循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
for dir_one in dir_list:
#將目錄和文件名合併成一個路徑
de_path = os.path.join(file_dir, dir_one)
if os.path.isfile(de_path):
print(de_path)
else:
output_file(de_path)
#遞歸查詢指定目錄下所有文件,輸出格式:文件名
def output_file_basename(file_dir):
dir_list = os.listdir(file_dir)
#循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
for dir_one in dir_list:
#將目錄和文件名合併成一個路徑
de_path = os.path.join(file_dir, dir_one)
if os.path.isfile(de_path):
print(os.path.basename(de_path))
else:
output_file_basename(de_path)
二、輸出指定類型文件
如:輸出以.robot結尾的文件
# 遞歸查詢指定目錄下所有文件,輸出格式:文件名
def output_basename_file(file_dir):
dir_list = os.listdir(file_dir)
# 循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
for dir_one in dir_list:
# 將目錄和文件名合併成一個路徑
de_path = os.path.join(file_dir, dir_one)
if os.path.isfile(de_path) and de_path.endswith('.robot'):
print(os.path.basename(de_path))
elif os.path.isfile(de_path):
continue
else:
output_basename_file(de_path)