python使用os.walk 遍歷目錄下的所有文件夾及文件路徑

pyhon中的os庫內置了一個非常強大的工具os.walk工具,可以讓我們快速遍歷文件夾內的內容

每次執行後返回的對象是一個三元元組,root 當前的根目錄(相對dir而言), dirs 當前根目錄下的所有文件夾, file當前根目錄下的所有文件

walk的topdown參數,表示是否從上到下迭代,默認爲True,改爲False則從最底層開始。

import os
class listpath():
    def __init__(self,path,*args):
        self.paths = []
        self.paths.append(path)
        if args:
            for arg in args:
                self.paths.append(arg)

    def get_file_path(self):
        file_path = []
        for path in self.paths:
            for root, dirs, files in os.walk(path):
                for file in files:
                    file_path.append(os.path.join(root, file))
        return file_path

    def get_dir_path(self):
        dir_path = []
        for path in self.paths:
            for root, dirs, files in os.walk(path):
                for dir in dirs:
                    dir_path.append(os.path.join(root, dir))
        return dir_path

    def print_filepath(self):
        paths = self.get_dir_path()
        for path in paths:
            print(path)

    def print_dirpath(self):
        paths = self.get_file_path()
        for path in paths:
            print(path)

if __name__ == "__main__":
    A = listpath(r'/home/文件夾1',r'/home/bookist/文件夾2')
    A.print_dirpath()
    print('-----------------------------')
    A.print_filepath()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章