python筆記4-遍曆檔案夾目錄os.walk()

來源:互聯網
上載者:User

標籤:one   xxx   遍曆檔案夾   dir   自己   mes   格式   class   image   

前言

如何遍曆尋找出某個檔案夾內所有的子檔案呢?並且找出某個尾碼的所有檔案

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-8import ospath = r"D:\test\python2"  # 尋找檔案的路徑for fpath, dirname, fnames in os.walk(path):    print(fpath)  # 所有的檔案夾路徑      公眾號:yoyoketang

2.第二個參數dirname是遍曆列印所有的檔案夾名稱

# coding:utf-8import ospath = r"D:\test\python2"  # 尋找檔案的路徑for fpath, dirname, fnames in os.walk(path):    print(dirname)  # 所有的檔案名稱    公眾號:yoyoketang

3.第三個參數fnames是遍曆列印所有的檔案名稱

# coding:utf-8import ospath = r"D:\test\python2"  # 尋找檔案的路徑for fpath, dirname, fnames in os.walk(path):    print(fnames)  # 所有的檔案名稱    公眾號:yoyoketang

遍曆所有的檔案

1.遍曆尋找檔案夾內所有的子檔案(不包含檔案夾)

2.用endswith判斷尋找後置是.py結尾的

# coding:utf-8import osdef 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 allif __name__ == "__main__":    b = get_files(r"D:\test\python2")    for i in b:        print i

 

python筆記4-遍曆檔案夾目錄os.walk()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.