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

2021-03-02 從零開始學自動化測試

前言

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

一、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](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接口自動化測試》百度閱讀已上架,點左下角「閱讀原文」可以直接購買

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

相關焦點

  • Python尚學堂高淇|P137-P139OS模塊,文件和目錄的操作,使用walk遍歷os.path模塊
    刪除多級目錄getcwd()返回當前工作目錄:current work dirchdir(path)把 path 設為當前工作目錄walk()遍歷目錄樹sep當前作業系統所使用的路徑分隔符####測試OS模塊關於文件和目錄的曹祖
  • 一文看懂Python對文件和文件夾的操作: 含os, shutil和glob模塊.Python學習面試必讀.
    在利用Python或Django從事Web開發時除了必須要了解Python面向對象的編程思想,還必須熟練掌握對文件夾和文件的操作。小編我精心準備了個小結,教你如何利用python進行基本的文件和文件夾操作,並重點介紹了如何使用os, shutil和glob模塊進行常見的文件和文件夾操作,如遍歷,刪除文件和查找文件。
  • Python管理文件神器 os.walk
    有沒有想過用python寫一個文件管理程序?聽起來似乎沒思路?其實是可以的,因為Python已經為你準備好了神器os.walk,進來看看吧!Python中os.walk是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。
  • 用Python遍歷文件夾下的所有文件並進行數據處理(Pathlib簡介)
    在當前文件夾中存在「files」文件夾,裡面是我們將要分析的數據,在該文件夾目錄下又有如下四個文件夾,我們可以看作是四個大類的數據:這個時候有些朋友會有些疑惑,我們該如何遍歷這些文件並讀取數據呢?本文就通過os庫以及pathlib庫為大家講解,並在最後重點介紹一下pathlib。
  • Python內置的文件夾操作
    import osos.makedirs(r"G:\Projectfile\demo\test\dir")4、複製文件夾Python中複製文件夾使用shutil模塊提供的copytree()方法實現。示例:將G盤文件Projectfile目錄裡的demo文件夾複製到F盤test文件夾中。
  • 二十七、深入淺出Python中的os模塊
    = os.path.abspath(__file__)print(absolute_file_path)列印結果:C:\Users\YIUYE\Desktop\demo.py獲取當前目錄函數os.getcwd():功能:獲取當前目錄,python的工作目錄。
  • Python 文件與目錄操作方法總結
    os.walk()用於通過從上到下或從下到上的遍歷來生成目錄樹中的文件名。出於本節的目的,我們將操作以下目錄樹:.os.walk()默認以自上而下的方式遍歷目錄:for dirpath, dirnames, files in os.walk('.')
  • 實例中學習python的walk/map/filter/lambda
    從尋找特定文件夾中尋找特定後綴名的文件列表是一個很常用的場景,可以擴展到將找到的(符合條件的)文件列表做重命名、刪除、備份等操作。我們本次就從此實例出發,去學習python語言中的walk/map/filter/lambda函數的使用。
  • python之OS模塊39個常用函數詳解
    作者:小伍哥 來源:AI入門學習os,語義作業系統,所以該模塊就是作業系統相關的功能了,用於處理文件和目錄這些我們日常手動需要做的操作,比如新建文件夾、獲取文件列表、刪除某個文件、獲取文件大小、重命名文件、獲取文件修改時間等,該模塊就包含了大量的作業系統操作函數,精選常用的進行解析,希望對大家有所幫助。
  • golang - 遍歷目錄內容
    需求:現在需要找出目錄的.html文件標準庫type WalkFunc func(path string, info os.FileInfo, err error) errorWalk函數對每一個文件/目錄都會調用WalkFunc函數類型值。
  • python批量遍歷文件,並清除文件中的幹擾字符
    比如在一個tmp目錄中有三個文本文件,但文件的內容有一些「幹擾字符」,我們要批量將這些字符去除,見下面截圖。清除幹擾字符的思路是這樣的:1、一次只打開一個文件2、一次性讀取這個文件內容,並存儲在一個字符串變量中。3、用字符串替換函數,將「幹擾字符」替換掉。4、清空文件內容。
  • 用 Python 高效智能管理文件夾
    三、高效管理文件夾的方法,就是最好的筆記要快速記錄筆記,最好的方法就是讓程序自動做」筆記」。把自己曾經做過的事情,按結構存放於各個文件夾中,自然就做成自己的知識樹了。四、各步驟及核心代碼思路是用python的os庫分析文件結構,用python的flask
  • Python之os模塊
    引言眾所周知,python是一種強大的腳本語言,那麼,問題來了,為什麼不用python來編寫Linux腳本呢?問題的答案就是python有os 模塊啊!這個os模塊能夠讓你像在Linux命令行中操作文件一樣,在python中也實現同樣的功能,感覺它就是python天生用來替換BASH的,而且它能夠呈現出一種更簡潔友好的腳本體驗!
  • Python文件目錄操作就是這麼6
    ) # 通過文件描述符改變當前工作目錄os.fchdir(hw) # 改變一個文件的訪問權限,該文件由參數hw指定,參數mode是Unix下的文件訪問權限。os.tcsetpgrp(hw, hw1) # 返回唯一的路徑名用於創建臨時文件。os.tempnam([dir[, prefix]]) # 返回一個打開的模式為(w+b)的文件對象 .這文件對象沒有文件夾入口,沒有文件描述符,將會自動刪除。
  • Python常用模塊os和shutil學習
    os就是「operating system」的縮寫,python中的os模塊提供了對目錄或者文件的新建/刪除/查看等屬性,還提供了對文件以及目錄的路徑操作,比如創建、刪除目錄等。關於OS模塊的目錄操作,可以看一下這篇文章:Python目錄操作總結下面是os模塊常用方法思維導圖shutil模塊shutil模塊屬於高級文件操作模塊,可以做os模塊的補充,主要可以實現文件的複製和解壓縮操作等等。
  • python模塊之os
    /usr/bin/pythonimport os, sys# 切換到 "/var/www/html" 目錄os.chdir("/var/www/html" )# 列印當前目錄print "當前工作目錄 : %s" % os.getcwd()# 打開 "/tmp"fd = os.open( "/tmp", os.O_RDONLY )# 使用 os.fchdir() 方法修改目錄os.fchdir(fd
  • 轉載 | 誰說Python的shutil不支持7z解壓縮,我來教你擴展它的功能!
    日常的編碼中,常會涉及到對文件、目錄等的操作場景,如果我們使用os,可能需要對文件、文件夾,非空等進行逐個判斷。舉個例子:我們現在要刪除一個目錄,目錄中包含有文件與文件夾,如果使用os模塊,沒有現成可以使用的函數,需要我們進行判斷與分類執行。
  • 用Python進行通用文件系統操作
    /'foo')上述shutil.copy命令將foo.txt複製到當前目錄的foo文件夾下面,當然這是因為事先在當前文件夾下存在一個foo文件夾,如果沒有foo文件夾,那麼上述語句會將foo.txt文件複製到當前文件夾下,並將新文件命名為foo。
  • Python腳本4:根據txt文本,批量創建文件夾
    1000個標籤就需要創建1000個文件夾,文件夾裡面放入對應的圖像。不可能一個一個右擊創建文件夾,所以有了今天的腳本。根據txt文本每一行的類別,創建文件名為類別的文件夾。# 目標是讀取txt的每一行數據創建對應名字的文件夾# 1通過函數調用解決創建固定的文件夾# 2創建一個txt文件輸出裡面的內容輸出# 3將txt輸出內容和創建文件夾連結完成任務# 4後續補充檢測文本文件是否存在,不在報錯# 5後續補充如果已經有了文本中的文件夾跳過這個文件名創建下一個# 結束# 反思:目前創建的文件夾目錄固定、文本文檔位置固定# 完善功能:# 1.先把文件夾目錄改為交互式用戶設置
  • Python模塊 | 這份os模塊知識詳解,太牛逼!
    os模塊是Python標準庫中整理文件和目錄最為常用的模塊,該模塊提供了非常豐富的方法用來處理文件和目錄。3)os.walk(path)含義 :傳入任意一個path路徑,深層次遍歷指定路徑下的所有子文件夾,返回的是一個由路徑、文件夾列表、文件列表組成的元組。