import os
def getalldir(path, sp = ""):
fileslist = os.listdir(path) # 得到當前目錄下所有的檔案
sp += " "
for filename in fileslist: # 處理每乙個檔案
fileabspath = os.path.join(path, filename)
if os.path.isdir(fileabspath): # 判斷是否是路徑
print(sp, "目錄:", filename)
getalldir(fileabspath, sp)
else:
print(sp, "檔案:", filename)
getalldir(r"c:\users\xlg\desktop\python-1704\day09\temp\dir")
import os
def getalldirde(path):
stack =
while len(stack) != 0: #處理棧,當棧為空迴圈結束
dirpath = stack.pop()
fileslist = os.listdir(dirpath)
for filename in fileslist: #處理每乙個檔案:普通檔案列印,目錄繼續壓棧
fileabspath = os.path.join(dirpath, filename)
if os.path.isdir(fileabspath):
print("目錄:", filename)
else:
print("普通檔案:", filename)
getalldirde(r"d:\文件(documents)")
import os
import collections
def getalldirqu(path):
queue = collections.deque()
while len(queue) != 0:
dirpath = queue.popleft()
fileslist = os.listdir(dirpath)
for filename in fileslist:
fileabspath = os.path.join(dirpath, filename)
if os.path.isdir(fileabspath):
print("目錄:", filename)
else:
print("普通檔案:", filename)
getalldirqu(r"d:\文件(documents)")
Python 棧和佇列及其模擬遞迴遍歷目錄
本文主要概括了棧和佇列的定義及其相應的方法,總結了如何向棧和佇列中存資料和取資料。最後利用棧是一種先進後出的資料結構,而佇列是一種先進先出的資料結構的特徵,用棧和佇列來模擬遞迴遍歷目錄。模擬棧結構 先進後出 stack 佇列結構 先進先出 import collections queue colle...
python中的遞迴,棧與佇列和目錄遍歷
遞迴呼叫 乙個函式,呼叫了自身,稱為遞迴呼叫 遞迴函式 乙個會呼叫自身的函式稱為遞迴函式 凡是迴圈能幹的事,均可以用遞迴寫出來 方式 寫出臨界條件 找這一次和上一次的關係 假設當前函式已經能用,呼叫自身計算上一次的結果,再求出本次結果 思路 臨界條件 1 找上一次和本次的關係 相加的關係 sum 4...
棧 佇列 遞迴
用陣列實現乙個順序棧class stack def init self self.items defisempty self return self.items defpush self,item def pop self return self.items.pop def peek self re...