剛開始學習python,最近有個需求,其中一部分是遍歷指定的資料夾,找出其中所有的子檔案。
資料夾的遍歷主要是通過os庫中的相關方法實現的。在遍歷中需要用到的方法:
os.listdir(dirpath)-------列出dirpath中所有的目錄和檔案,只列出本級目錄;
os.path.join(path, child)-------連線指定的目錄和檔名,形成完成的路徑;
os.path.isdir(path)-------判斷path是否為資料夾,返回true或false,類似的還有isfile()方法;
遍歷的思路:
取出指定目錄中的所有檔案或資料夾,放入列表(list)parent--------判斷parent中每乙個元素是否為資料夾,如是則遞迴,如不是,則新增至結果列表result中。
在編寫**的過程中新增了分級列印功能, 採用遞迴的思想實現。
import os
"""該方法可以將指定目錄中的所有檔案和資料夾分層級顯示出來,同時以list返回目錄中的所有檔案(包含子檔案)。
有三個引數,第乙個引數必選,是要獲取的目錄絕對路徑
第二個引數可選,為列印的起始縮排,函式內部的迭代中使用,一般保持其實預設值0
第三個引數可選,儲存返回的結果,一般不用指定"""
def get_file(fpath, level=0, mfile_list=none):
if mfile_list == none:
mfile_list =
##列出指定根目錄下的所有檔案和資料夾
parent = os.listdir(fpath)
for child in parent:
child_path = os.path.join(fpath, child)
if os.path.isdir(child_path):
for i in range(level):
print("----", end = "")
print(child)
get_file(child_path, level+1)
else:
for i in range(level):
print("----", end = "")
print(child)
return mfile_list
if __name__ == "__main__":
path = input("請輸入目錄絕對路徑: ")
if os.path.isdir(path):
get_file(path)
else:
print("路徑有誤!")
執行結果如下:
python 遍歷資料夾
在python中,檔案操作主要來自os模組,主要方法如下 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回當前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir nam...
python 遍歷資料夾
1.遍歷資料夾 import os import os.path rootdir d data 指明被遍歷的資料夾 for parent,dirnames,filenames in os.walk rootdir 三個引數 分別返回1.父目錄 2.所有資料夾名字 不含路徑 3.所有檔案名字 for ...
python 遍歷資料夾
import os import os.path rootdir r d data 指明被遍歷的資料夾 for parent,dirnames,filenames in os.walk rootdir 三個引數 分別返回1.父目錄 2.所有資料夾名字 不含路徑 3.所有檔案名字 for dirnam...