Python 3 os.walk使用详解
生活随笔
收集整理的這篇文章主要介紹了
Python 3 os.walk使用详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自:https://www.cnblogs.com/herbert/archive/2013/01/07/2848892.html
os.walk(top, topdown = True, onerror = None, followlinks = False)
?
文件結構
Test folder:
?
SubTest1 folder:
?
ThirdLayer folder:
?
?
SubTest2 folder:
?
?
?
示例代碼1:
| import?os path =?'D:\Test' ?? for?root, dirs, files in?os.walk(path): ????print("Root = ", root, "dirs = ", dirs, "files = ", files) |
?
?
?
結果:
| Root =??D:\Test dirs =??['SubTest1', 'SubTest2'] files =??['TEST DOCUMENT.docx', 'TEST.txt'] Root =??D:\Test\SubTest1 dirs =??['ThirdLayer'] files =??['TEST DOCUMENT1.docx', 'TEST1.txt'] Root =??D:\Test\SubTest1\ThirdLayer dirs =??[] files =??['TEST DOCUMENT L3.docx', 'TEST L3.txt'] Root =??D:\Test\SubTest2 dirs =??[] files =??['TEST DOCUMENT2.docx', 'TEST2.txt'] |
?
?
?
結果分析
1,先從根目錄進行遍歷,讀取跟目錄的文件夾和文件。
2,以根目錄第一個子目錄為新的根目錄,讀取其文件夾和文件。
3,再以2中的第一個子文件夾為根目錄,讀取文件夾和文件。(這個應該是屬于樹結構里面的自上而下深度遍歷算法)
4,讀取1步驟里面其他子目錄的文件夾和文件。
?
?
示例代碼2:(修改topdown 為False)
| import?os path =?'D:\Test' ?? for?root, dirs, files in?os.walk(path, False): ????print("Root = ", root, "dirs = ", dirs, "files = ", files) |
?
?
?
返回結果
| Root =??D:\Test\SubTest1\ThirdLayer dirs =??[] files =??['TEST DOCUMENT L3.docx', 'TEST L3.txt'] Root =??D:\Test\SubTest1 dirs =??['ThirdLayer'] files =??['TEST DOCUMENT1.docx', 'TEST1.txt'] Root =??D:\Test\SubTest2 dirs =??[] files =??['TEST DOCUMENT2.docx', 'TEST2.txt'] Root =??D:\Test dirs =??['SubTest1', 'SubTest2'] files =??['TEST DOCUMENT.docx', 'TEST.txt'] |
?
?
?
結果分析:
其實結果實質是一樣的,不同的是,這次使用的是自下而上的深度遍歷算法。
?
?
其他說明:
| import?os path =?'D:\Test\TEST.txt' ?? for?root, dirs, files in?os.walk(path, False): ????print("Root = ", root, "dirs = ", dirs, "files = ", files) |
?
| import?os path =?'D:\Test1' ?? for?root, dirs, files in?os.walk(path, False): ????print("Root = ", root, "dirs = ", dirs, "files = ", files) |
總結
以上是生活随笔為你收集整理的Python 3 os.walk使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ue4显示变量_UE4:快速入门蓝图(B
- 下一篇: np.newaxis 为 numpy.n