スタック:特性を満たす->私たちの生活の弾丸クリップと同様に、最初に、最後に
【注意】
スタック構造の場合:Pythonは特定の関数をカプセル化しないため、list(list)を使用してスタックの特性をシミュレートできます
リストオブジェクトを使用して、スタック構造の特性をシミュレートし、データにアクセスします:ファーストイン、ラストアウト
# リストオブジェクトを定義する,stack(変数名、参照名)
stack=[]
# スタックにデータを追加する(シミュレーションプッシュ)
stack.append('A')print(stack)
stack.append('B')print(stack)
stack.append('C')print(stack)
# スタックからデータをポップします(モックポップアップ)
obj=stack.pop()print('現れる:'+obj)
obj=stack.pop()print('現れる:'+obj)
obj=stack.pop()print('現れる:'+obj)
ディレクトリトラバーサルのディープトラバーサルを実現するためのシミュレートされたスタック構造の機能
import os
# カスタム機能:ディレクトリレベルの深いトラバースを実現する
def getAllFileST(path):
# リストを定義する
lt=[]
# パスします(文字列、絶対パス)押す
lt.append(path)
# ltの長さに応じてループ実行の数を決定します
whilelen(lt)!=0:
# ltのデータをスタックにポップします
file_path=lt.pop()
# ファイルを取得_パス内のワードコンテンツ(ファイル、サブディレクトリ)リストとして返す
file_list=os.listdir(file_path)
# ループ処理ファイル_list
for file in file_list:
# 各要素を絶対パス値に復元します
fileAbsPath=os.path.join(file_path,file)'''
それはファイルですか、それともディレクトリですか?
ファイルの場合は、ファイル名を出力するだけです
ディレクトリの場合は、最初にディレクトリを印刷してから、スタックにプッシュします
'''
if os.path.isfile(fileAbsPath):print('ファイル:'+file)else:print('目次:'+file)
lt.append(fileAbsPath)
p=r'a.txt'getAllFileST(p)
Recommended Posts