目錄
代碼四:依次從內層到外層獲取當前路徑下文件(改造自代碼三),也可直接代碼一獲取
代碼五:獲取當前路徑下一層指定後綴文件列表(多層可改造代碼三)
代碼一: 輸出文件目錄相關內容
os.walk(file_dir)從外到內獲取多層
# -*- coding: utf-8 -*-
import os
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
print(root) #當前目錄路徑
print(dirs) #當前路徑下所有子目錄
print(files) #當前路徑下所有非目錄子文件
代碼一會從外到內,將文件夾三個內容一層一層的輸出。
代碼二:輸出一個目錄下所有文件名字(第一層)
os.listdir(rootdir) 當前層
os.path.isfile(list[i]):#判斷是否是文件
#獲取一個路徑下第一層,所有文件名列表
def get_filenames(file_dir):
L=[]
list = os.listdir(rootdir) #列出文件夾下所有的目錄與文件
for i in range(0,len(list)):
if os.path.isfile(list[i]):#判斷是否是文件
L.append(os.path.join(file_dir,list[i]))
代碼三:返回當前路徑下所有層的文件路徑列表
os.path.isdir(file_path)判斷是否是目錄(文件夾)
# -*- coding: utf-8 -*-
import os
def listdir(path, list_name): #傳入存儲的list
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path, list_name)
else:
list_name.append(file_path)
print(list_name)#雖然打印出來,但是最後的打印纔是return的最後結果
return list_name
list_name=[] #需要在外層定義,才能獲取當前路徑所有文件名,試想在內層定義會如何
list_name=listdir(rootdir, list_name)#返回當前路徑下所有文件路徑列表
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\9_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\test\\test.py']
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\9_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\test\\test.py']
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\9_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\test\\test.py', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24.zip', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\23_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\25_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\26_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\27_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\28_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\29_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\9_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\fen.py', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\__init__.py']
代碼四:依次從內層到外層獲取當前路徑下文件(改造自代碼三),也可直接代碼一獲取
def listdir(path):
list_name = []
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path)
else:
list_name.append(file_path)
print(list_name)
return list_name
list_name=listdir(rootdir)
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\test\\test.py']
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24\\9_fact.txt']
#['E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\10_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\11_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\12_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\13_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\14_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\15_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\16_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\17_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\18_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\19_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_24.zip', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\1_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\20_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\21_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\22_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\23_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\24_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\25_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\26_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\27_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\28_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\29_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\2_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\3_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\4_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\5_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\6_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\7_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\8_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\9_fact.txt', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\fen.py', 'E:\\Mypython3\\wenshu_my\\data_my\\fen_200\\__init__.py']
#可接着仿照代碼三,外部定義一個列表存儲不同文件夾下list_name
代碼五:獲取當前路徑下一層指定後綴文件列表(多層可改造代碼三)
import os
#獲取一個路徑下第一層,相同後綴的文件名列表
#獲取所有標註文件
def get_filenames(rootdir):
L=[]
list = os.listdir(rootdir) #列出文件夾下所有的目錄與文件
for i in range(0,len(list)):
if os.path.splitext(list[i])[1] == '.txt':
path = os.path.join(rootdir,list[i])
L.append(path)
return L
#其中os.path.splitext()函數將路徑拆分爲文件名+擴展名
get_filenames(rootdir)