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()