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

python遍歷文件夾,指定遍歷深度與忽略目錄的方法

 更新時間:2018年07月11日 14:44:23   作者:一個CD包  
今天小編就為大家分享一篇python遍歷文件夾,指定遍歷深度與忽略目錄的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

背景

需要在文件夾中搜索某一文件,找到后返回此文件所在目錄。用最常規(guī)的os.listdir()方式實現(xiàn)了一版,但執(zhí)行時報錯:遞歸超過最大深度。于是自己添加了點功能,之所有寫此函數(shù)是為了讓它適應(yīng)不同的項目,因為有項目要找的文件在第一層,有的在第二層。

函數(shù)

功能:在文件夾中查找某一文件,找到后返回True與文件所在目錄路徑。

參數(shù):filepath, 要查找的目錄

參數(shù):filename, 要查找的文件

擴展1:find_depth, 查找時指定遞歸深度;

擴展2:ignore_path, 查找時忽略某些目錄;

#!/usr/bin/env python
# coding=utf-8
import os
# from fabric.colors import *

def find_file(self, filepath, filename, find_depth=1, ignore_path=['.git', 'node_modules']):
  """查找文件"""
  # print blue("當前查找目錄:{},遞歸層級:{}".format(filepath, find_depth))
  # 遞歸深度控制
  find_depth -= 1
  for file_ in os.listdir(filepath):
    # print cyan("file: {}".format(file_))
    if isfile(join(filepath, file_)):
      # print "當前文件:{}".format(file_)
      if file_ == filename:
        return True, filepath
    elif find_depth <= 0: # 遞歸深度控制, 為0時退出
      # print yellow("超出遞歸深度,忽略!")
      continue
    elif file_ in ignore_path: # 忽略指定目錄
      # print yellow("此目錄在忽略列表中,跳過!")
      continue
    else:
      result, abs_path = self.find_file(filepath=join(filepath, file_),
                       filename=filename,
                       find_depth=find_depth)
      if result:
        print green("找到{}文件,所在路徑{}".format(filename, abs_path))
        return result, abs_path
  return False, filepath

result, filepath = find_build(filepath="/data/deploy/jenkins/data/jobs/sit-zjims-mobile/workspace/", filename="gulpfile.js", find_depth=3)

以上這篇python遍歷文件夾,指定遍歷深度與忽略目錄的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?異步如何使用等待有時間限制協(xié)程

    Python?異步如何使用等待有時間限制協(xié)程

    這篇文章主要為大家介紹了Python?異步如何使用等待有時間限制協(xié)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 基于Python3.6+splinter實現(xiàn)自動搶火車票

    基于Python3.6+splinter實現(xiàn)自動搶火車票

    這篇文章主要為大家詳細介紹了基于Python3.6+splinter實現(xiàn)自動搶火車票,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python中re.compile函數(shù)的使用方法

    Python中re.compile函數(shù)的使用方法

    這篇文章主要介紹在python的re模塊中怎樣應(yīng)用正則表達式,文中有相關(guān)的代碼示例,具有一定的參考價值,需要的朋友可以參考下
    2023-06-06
  • 淺析PEP570新語法: 只接受位置參數(shù)

    淺析PEP570新語法: 只接受位置參數(shù)

    本文通過一個例子給大家介紹了PEP570新語法: 只接受位置參數(shù)的一些知識,感興趣的朋友跟隨小編一起看看吧
    2019-10-10
  • pyqt5圓形label顯示打開的攝像頭功能

    pyqt5圓形label顯示打開的攝像頭功能

    本文主要給大家講解如何使用pyqt5打開攝像頭并在label上顯示,以及優(yōu)化成圓形label框。通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    這篇文章主要介紹了windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法,結(jié)合實例形式較為詳細的分析了Python實現(xiàn)將pdf轉(zhuǎn)換為png格式的相關(guān)模塊、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-07-07
  • python 實現(xiàn)客戶端與服務(wù)端的通信

    python 實現(xiàn)客戶端與服務(wù)端的通信

    這篇文章主要介紹了python 實現(xiàn)客戶端與服務(wù)端的通信的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 使用pycharm創(chuàng)建Django項目失敗的解決方案

    使用pycharm創(chuàng)建Django項目失敗的解決方案

    使用PyCharm創(chuàng)建Django項目時遇到無法運行的問題,可以檢查Python的安裝路徑設(shè)置是否正確,在PyCharm的設(shè)置中找到項目解釋器的位置,確保路徑正確,如果不確定Python的安裝位置,可以在命令提示符中使用“where Python”命令查詢
    2024-09-09
  • IDA Pro 6.0使用Qt框架實現(xiàn)了跨平臺的UI界面

    IDA Pro 6.0使用Qt框架實現(xiàn)了跨平臺的UI界面

    通過本文帶領(lǐng)大家學習如何使用PySide使用IDAPython為 IDA Pro 創(chuàng)建 UI 界面,對IDA Pro 6.0使用Qt 框架實現(xiàn)了跨平臺的UI相關(guān)知識感興趣的朋友一起看看吧
    2021-07-07
  • Python?colorama?彩色打印實現(xiàn)代碼

    Python?colorama?彩色打印實現(xiàn)代碼

    這篇文章主要介紹了Python?colorama?彩色打印實現(xiàn)代碼,將介紹的類為Back,?它實現(xiàn)了與?Fore?類相同的九個關(guān)鍵字:BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、RESET,感興趣的朋友一起看看吧
    2022-04-04

最新評論