python筆記4-遍歷文件夾目錄os.walk()


前言

如何遍歷查找出某個文件夾內所有的子文件呢?並且找出某個后綴的所有文件

walk功能簡介

1.os.walk() 方法用於通過在目錄樹種游走輸出在目錄中的文件名,向上或者向下。

2.walk()方法語法格式如下:

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

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

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

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

  • followlinks 設置為 true,則通過軟鏈接訪問目錄。

以上參考文檔http://www.runoob.com/python/os-walk.html

遍歷文件

1.第一個參數fpath是遍歷打印所有的文件路徑

# coding:utf-8
import os
path = r"D:\test\python2"  # 查找文件的路徑
for fpath, dirname, fnames in os.walk(path):
    print(fpath)  # 所有的文件夾路徑      微信公眾號:yoyoketang

2.第二個參數dirname是遍歷打印所有的文件夾名稱

# coding:utf-8
import os
path = r"D:\test\python2"  # 查找文件的路徑
for fpath, dirname, fnames in os.walk(path):
    print(dirname)  # 所有的文件名    微信公眾號:yoyoketang

3.第三個參數fnames是遍歷打印所有的文件名

# coding:utf-8
import os
path = r"D:\test\python2"  # 查找文件的路徑
for fpath, dirname, fnames in os.walk(path):
    print(fnames)  # 所有的文件名    微信公眾號:yoyoketang

遍歷所有的文件

1.遍歷查找文件夾內所有的子文件(不包含文件夾)

2.用endswith判斷查找后置是.py結尾的

# coding:utf-8
import os

def get_files(path='D:\\xx', rule=".py"):
    all = []
    for fpathe,dirs,fs in os.walk(path):   # os.walk是獲取所有的目錄
        for f in fs:
            filename = os.path.join(fpathe,f)
            if filename.endswith(rule):  # 判斷是否是"xxx"結尾
                all.append(filename)
    return all

if __name__ == "__main__":
    b = get_files(r"D:\test\python2")
    for i in b:
        print i

python自動化學習交流QQ群:226296743


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM