国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python利用遞歸和walk()遍歷目錄文件的方法示例

2020-02-16 01:54:13
字體:
來源:轉載
供稿:網友

前言

經常需要檢查一個“目錄或文件夾”內部有沒有我們想要的文件或者文件夾,就需要我們循環迭代出所有文件和子文件夾,Python中遍歷指定目錄下所有的文件和文件夾,包含多級目錄,有兩種方法,一種是通過遞歸思想去遍歷,另一種是os模塊的walk()函數下面話不多說,就來一起看看詳細的介紹:

列出目錄結構

一.遞歸方法

 #coding:utf-8 import os allfile=[] def getallfile(path):  allfilelist=os.listdir(path)  for file in allfilelist:   filepath=os.path.join(path,file)   #判斷是不是文件夾   if os.path.isdir(filepath):    getallfile(filepath)   allfile.append(filepath)  return allfile if __name__ == '__main__':  path="C:/Users/zs/PycharmProjects/demo"  allfiles=getallfile(path)  for item in allfiles:   print item#結果C:/Users/zs/PycharmProjects/demo/.idea/demo.imlC:/Users/zs/PycharmProjects/demo/.idea/encodings.xmlC:/Users/zs/PycharmProjects/demo/.idea/misc.xmlC:/Users/zs/PycharmProjects/demo/.idea/modules.xmlC:/Users/zs/PycharmProjects/demo/.idea/workspace.xmlC:/Users/zs/PycharmProjects/demo/.ideaC:/Users/zs/PycharmProjects/demo/functiondemo.pyC:/Users/zs/PycharmProjects/demo/index.pyC:/Users/zs/PycharmProjects/demo/locale/en_US/LC_MESSAGES/django.poC:/Users/zs/PycharmProjects/demo/locale/en_US/LC_MESSAGESC:/Users/zs/PycharmProjects/demo/locale/en_USC:/Users/zs/PycharmProjects/demo/locale/zh_CN/LC_MESSAGES/lang.moC:/Users/zs/PycharmProjects/demo/locale/zh_CN/LC_MESSAGES/lang.poC:/Users/zs/PycharmProjects/demo/locale/zh_CN/LC_MESSAGESC:/Users/zs/PycharmProjects/demo/locale/zh_CNC:/Users/zs/PycharmProjects/demo/localeC:/Users/zs/PycharmProjects/demo/name.txtC:/Users/zs/PycharmProjects/demo/text.txt

借用遞歸的思想去列出所有文件夾中的內容,判斷如果是目錄就繼續調用本身的方法。

二.os模塊的walk()函數

os.walk(top, topdown=True, onerror=None, followlinks=False)

返回一個3個元素的元祖,(dirpath, dirnames, filenames),

dirpath:要列出指定目錄的路徑 dirnames:目錄下的所有文件夾 filenames:目錄下的所有文件

參數一:top – 根目錄下的每一個文件夾(包含它自己), 產生3-元組 (dirpath, dirnames, filenames)【文件夾路徑, 文件夾名字, 文件名】。

參數二:topdown –可選,為True或者沒有指定, 一個目錄的的3-元組將比它的任何子文件夾的3-元組先產生 (目錄自上而下)。如果topdown為 False, 一個目錄的3-元組將比它的任何子文件夾的3-元組后產生 (目錄自下而上)。

參數三:onerror – 可選,是一個函數; 它調用時有一個參數, 一個OSError實例。報告這錯誤后,繼續walk,或者拋出exception終止walk。

參數四:followlinks – 設置為 true,則通過軟鏈接訪問目錄。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武汉市| 江门市| 双柏县| 重庆市| 武山县| 汶上县| 石景山区| 太康县| 陕西省| 沿河| 淮滨县| 永兴县| 浏阳市| 高台县| 平南县| 阳新县| 屯门区| 犍为县| 岳西县| 金溪县| 剑阁县| 乾安县| 揭阳市| 赣州市| 古浪县| 玛多县| 清流县| 饶平县| 崇仁县| 柳河县| 临安市| 日照市| 平泉县| 县级市| 通海县| 新乡市| 周至县| 吴旗县| 巴里| 太原市| 丰顺县|