Python 3 os.walk() 方法含代碼

Python 3 – os.walk() 方法

Python 3 中的 os.walk() 方法是一個非常有用的函數,可以用于遍歷目錄樹,獲取目錄下的所有文件和子目錄。愛掏網 - it200.com本文將詳細介紹 os.walk() 方法的使用方法及其示例代碼。愛掏網 - it200.com

os.walk() 方法用于遍歷一個目錄樹,獲取目錄下的所有文件和子目錄。愛掏網 - it200.com它返回一個生成器對象,可以通過 for 循環來遍歷目錄樹,獲取每個目錄下的子目錄和文件。愛掏網 - it200.com每次遍歷返回一個元組,包含當前目錄的路徑、當前目錄下子目錄的名字和當前目錄下的文件名,如下:

for root, dirs, files in os.walk('.', topdown=True):
    print(root, dirs, files)

其中,root 為當前目錄的路徑,dirs 為當前目錄下的子目錄名列表,files 為當前目錄下的文件名列表。愛掏網 - it200.com通過 os.walk() 方法的默認參數,還可以控制遍歷順序、包含或排除某些文件夾等。愛掏網 - it200.com

os.walk() 方法示例

下面,我們通過幾個示例來演示如何使用 os.walk() 方法。愛掏網 - it200.com

示例 1:遍歷當前目錄下所有文件

下面是一個簡單的示例,遍歷當前目錄下的所有文件,并輸出文件路徑。愛掏網 - it200.com

import os

for root, dirs, files in os.walk('.', topdown=True):
    for file in files:
        print(os.path.join(root, file))

示例輸出結果:

./test.txt
./subdir1/file2.txt
./subdir1/file1.txt
./subdir2/file4.txt
./subdir2/subdir3/file5.txt
./subdir2/file3.txt
./subdir2/file2.txt
./subdir2/file1.txt

示例 2:遍歷指定目錄下所有文件

通過參數 topdown=True 可以控制遍歷順序,默認為從上往下遍歷,我們也可以指定從下往上遍歷。愛掏網 - it200.com下面一個例子演示了如何遍歷指定目錄下的文件,包括子目錄。愛掏網 - it200.com

import os

for root, dirs, files in os.walk('mydir', topdown=False):
    for file in files:
        print(os.path.join(root, file))

示例輸出結果:

mydir/subdir1/file2.txt
mydir/subdir1/file1.txt
mydir/subdir2/file4.txt
mydir/subdir2/subdir3/file5.txt
mydir/subdir2/file3.txt
mydir/subdir2/file2.txt
mydir/subdir2/file1.txt
mydir/test.txt

示例 3:遍歷目錄樹并篩選文件

通過在遍歷的過程中進行文件篩選,我們可以快速的得到滿足條件的文件。愛掏網 - it200.com

下面一個例子演示了如何在遍歷的過程中篩選出 “txt” 文件。愛掏網 - it200.com

import os

for root, dirs, files in os.walk('.', topdown=True):
    for file in files:
        if file.endswith(".txt"):
            print(os.path.join(root, file))

示例輸出結果:

./test.txt
./subdir1/file2.txt
./subdir1/file1.txt
./subdir2/file4.txt
./subdir2/subdir3/file5.txt
./subdir2/file3.txt
./subdir2/file2.txt
./subdir2/file1.txt

示例 4:遍歷目錄樹并創建目錄

通過在遍歷的過程中對目錄進行判斷和操作,我們可以快速的創建符合特定規則的目錄。愛掏網 - it200.com

下面一個例子演示了如何在遍歷的過程中創建符合特定規則的目錄。愛掏網 - it200.com

import os

for root, dirs, files in os.walk('.', topdown=True):
    for dir in dirs:
        if "data" in dir:
            os.makedirs(os.path.join(root, dir, "new_dir"))

示例輸出結果:

# 創建目錄完成后再次遍歷目錄
./data/new_dir
./data/subdir1/new_dir
./data/subdir1/subdir3/new_dir
./data/subdir2/new_dir
./data/subdir2/subdir3/new_dir

示例 5:排除指定文件夾的遍歷

如果需要排除某些文件夾的遍歷,可以通過在遍歷的過程中移除指定目錄。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 欧美特黄a级高清免费大片| 久久久噜噜噜久久中文字幕色伊伊| www.九色视频| 精品免费一区二区三区 | 少妇无码太爽了不卡视频在线看| 国产亚洲视频网站| 久久精品国产清自在天天线| 天天综合网色中文字幕| 欧美三级纯黄版| 国产真人无码作爱免费视频| 亚洲制服欧美自拍另类| 男女一边摸一边做爽的免费视频| 欧美国产亚洲一区| 国产精品v片在线观看不卡| 亚洲中文字幕无码中文字在线| caoporn97在线视频| 最近最好的中文字幕2019免费 | 色婷婷六月亚洲综合香蕉| 中文字幕aⅴ人妻一区二区| 国产日韩av免费无码一区二区| 新婚夜的娇吟声| 国产婷婷色一区二区三区| 久久国产精品成人片免费| 被女同桌调教成鞋袜奴脚奴| 日本一本一区二区| 四虎www成人影院| 一区二区三区高清视频在线观看| 精品一区二区三区波多野结衣| 好多水好硬好紧好爽视频| 人人狠狠综合久久亚洲| 97久久精品无码一区二区| 欧美性猛交一区二区三区| 国产毛片久久久久久国产毛片| 久久精品国产亚洲av不卡| 草草浮力影院第一页入口| 成人免费毛片视频| 人人妻人人添人人爽日韩欧美| 91av在线导航| 日韩精品无码久久一区二区三 | 精品一区精品二区制服| 好男人看视频免费2019中文|