久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python讀取多層嵌套文件夾中的文件實例

瀏覽:75日期:2022-08-05 16:27:21

由于工作安排,需要讀取多層文件夾下嵌套的文件,文件夾的結構如下圖所示:

python讀取多層嵌套文件夾中的文件實例

想到了遞歸函數,使用python的os.path.isfile方法判斷當前是不是可執行文件,如果不是再用os.listdir方法將子目錄循環判斷。

代碼如下

import ospath = ’abc’path_read = [] #path_read saves all executable filesdef check_if_dir(file_path): temp_list = os.listdir(file_path) #put file name from file_path in temp_list for temp_list_each in temp_list: if os.path.isfile(file_path + ’/’ + temp_list_each): temp_path = file_path + ’/’ + temp_list_each if os.path.splitext(temp_path)[-1] == ’.log’: #自己需要處理的是.log文件所以在此加一個判斷path_read.append(temp_path) else:continue else: check_if_dir(file_path + ’/’ + temp_list_each) #loop traversalcheck_if_dir(path)#print(path_read)

實現思想就是把所有可執行文件的路徑,通過字符串的拼接,完整的放進一個list中,在后面的執行步驟中依次提取進行訪問和操作。

由于自己拿到的數據集中,一個文件夾下要么全是文件夾,要么全是文件,所以在第一次寫這個函數時,通過temp_list[0] 直接判斷list中第一個文件是不是文件。

所以自己第一次寫的代碼有一個很大的bug,就是當一個文件夾下既有文件夾又有文件的情況下,會嘗試將一個文件夾按照文件讀取,報錯。

第一次代碼如下:

import ospath = ’abc’path_read = [] #path_read saves all executable filesdef check_if_dir(file_path): temp_list = os.listdir(file_path) #put file name from file_path in temp_list if os.path.isfile(file_path + ’/’ + temp_list[0]): #此處直接判斷list中第一項是不是文件 for temp_list_each in temp_list: temp_path = file_path + ’/’ + temp_list_each if os.path.splitext(temp_path)[-1] == ’.log’:path_read.append(temp_path) else:continue else: for temp_list_each in temp_list: check_if_dir(file_path + ’/’ + temp_list_each) #loop traversalcheck_if_dir(path) #put all path in path_read#print(path_read)

以上這篇python讀取多層嵌套文件夾中的文件實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 漠河县| 桂林市| 德钦县| 乌拉特中旗| 长治市| 高邑县| 鄂温| 英超| 汨罗市| 怀安县| 东平县| 固始县| 仙游县| 新闻| 德令哈市| 三原县| 望都县| 六枝特区| 乐至县| 宁明县| 廊坊市| 和政县| 准格尔旗| 大埔县| 称多县| 拉孜县| 中江县| 大姚县| 凤庆县| 栾川县| 通州市| 高尔夫| 天水市| 巴彦淖尔市| 手游| 库伦旗| 清远市| 丘北县| 满城县| 新平| 泸水县|