欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年02月27日 15:32:02   作者:李斯特塔洛紫心愛  
今天小編就為大家分享一篇python讀取多層嵌套文件夾中的文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

代碼如下

import os
path = 'abc'
path_read = []  #path_read saves all executable files

def 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 traversal

check_if_dir(path)
#print(path_read)

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

由于自己拿到的數(shù)據(jù)集中,一個文件夾下要么全是文件夾,要么全是文件,所以在第一次寫這個函數(shù)時,通過temp_list[0] 直接判斷l(xiāng)ist中第一個文件是不是文件。

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

第一次代碼如下:

import os
path = 'abc'
path_read = []  #path_read saves all executable files

def 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]):  #此處直接判斷l(xiāng)ist中第一項是不是文件
    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 traversal

check_if_dir(path)  #put all path in path_read
#print(path_read)

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

相關文章

  • python操作手機app的實現(xiàn)步驟

    python操作手機app的實現(xiàn)步驟

    本文主要介紹了python操作手機app的實現(xiàn)步驟,本文將結合實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python(Tornado)模擬登錄小米搶手機

    Python(Tornado)模擬登錄小米搶手機

    用Python(Tornado)模擬登錄小米帳號,搶小米手機
    2013-11-11
  • 一文教會你用Python3獲取網(wǎng)頁源代碼

    一文教會你用Python3獲取網(wǎng)頁源代碼

    學了python后,之前一些我們常用的方法,也可以換一種思路用python中的知識來解決,下面這篇文章主要給大家介紹了關于如何使用Python3獲取網(wǎng)頁源代碼的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Python?時間操作time詳情

    Python?時間操作time詳情

    這篇文章主要介紹了?Python?時間操作time詳情,在Python高級語言中,內置庫提供了time和datetime模塊進行對時間日期的處理。本文,我們將進行對Time模塊相關的方法進行學習,需要的朋友可以參考一下
    2021-11-11
  • Python繪制雷達圖時遇到的坑的解決

    Python繪制雷達圖時遇到的坑的解決

    這篇文章主要介紹了Python繪制雷達圖時遇到的坑的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • python實現(xiàn)單張圖像拼接與批量圖片拼接

    python實現(xiàn)單張圖像拼接與批量圖片拼接

    這篇文章主要為大家詳細介紹了python實現(xiàn)單張圖像拼接與批量圖片拼接,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 一篇文章帶你了解Python之Selenium自動化爬蟲

    一篇文章帶你了解Python之Selenium自動化爬蟲

    這篇文章主要為大家詳細介紹了Python之Selenium自動化爬蟲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法

    將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法

    這篇文章主要介紹了將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法,主要使用了pickle模塊,需要的朋友可以參考下
    2015-04-04
  • python程序文件擴展名知識點詳解

    python程序文件擴展名知識點詳解

    在本篇文章里小編給大家整理的是關于python程序文件擴展名知識點詳解內容,需要的朋友們學習參考下。
    2020-02-02
  • python中讓自定義的類使用加號"+"

    python中讓自定義的類使用加號"+"

    這篇文章主要介紹了python中讓自定義的類使用加號"+",如果對兩個對象直接“+”肯定是不行的,因為還沒有對CartoonImage類重載加法運算符__add__(),下文小編舉例形式講解該內容,需要的下伙伴可以參考一下
    2022-03-03

最新評論