1つの #は、ファイルおよびサブフォルダのサブフォルダの全横断する必要-再帰 2 。3 「」「」「」 、4 「」 5 擬似コード 6 1、--listdirのルートディレクトリトラバーサルを 7。 第一段階を得ることサブフォルダ(サブフォルダは、サブフォルダを含まない)とファイル 8 2、判決は、ファイルやフォルダである 9 ファイルは、直接ファイル名を印刷する場合は 10を 、それはフォルダ(仕事のための完全なパス)であれば、それは自分自身を呼び出します(再帰的に) 。11 12は、 ステップ: 13である 機能を実現する1 14 2を、次いで最適化-各印刷くぼみのディレクトリ 15 ' ''を 16 インポートOS 17 18である #1 パス1 = r'D:\プログラム\ジェットブレーンズ\ PycharmProjects \ xq_py \フルスタック16 \ 001 '#絶対パス 19パス1 = R&LT ' ..\ 001 " #相対パス、.. \現在のディレクトリ#推奨表し\カレントディレクトリの親ディレクトリを示す。 20は 21である DEF(パス1は、N-)for_file:#1 パラメータ1フォルダのルートディレクトリパス、レベル2の調整用のパラメータでありますインデント 22は、 たLi1にos.listdir(パス1)= #を。1つのリスト(サブフォルダとサブファイルは含まれません)最初のフォルダ階層のルートディレクトリの下のファイルとのリストを返す 23です #の#の[「002(たLi1で)印刷'' 003.py '' 005.py '' __init__.py「] 24 のための I におけるたLi1で:#ループリストを2、最初のフォルダ及びファイルの階層構造の印刷 25 full_path1を= os.path.join (パス1、I) #最初のフォルダ階層の3スプライスさフルパス。 26は、 #1 印刷(full_path1) 27 IF os.path.isdir(full_path1): #4は、フォルダへの完全なパスか否かを判断する 28 印刷(「\ tの」 * + N-I) #4-2、フォルダの名前を印刷し、フォルダへのフルパスです(フォルダ名はフルパスを印刷する必要はありません) 29 for_file(full_path1、N- + 1) #独自のチューン#5は、それが自分自身を呼び出して、あなた自身のフォルダのフルパスです-再帰 30 #最初のルートディレクトリとしてレベルのフォルダ、 31 #1 注:再帰フォルダがないフォルダ名、フルパスでなければならないとき 32 #。パラメーター2のn + 1は1をそれぞれ再帰は、インデントが増加する時間を表し、 33は 他:#。、6フルパスは、その後、フォルダ以外のファイルの名前であり、ファイルを印刷することができる(ファイルの印刷名は、完全なパスを必要としません) 34で 印刷(' \のT ' * + N-I) #6-2 '\ T'タブ区切りスペースのインデントを表し-4 35 36 for_file(path1,1) #- 7呼び出し関数は、パラメータが(推奨絶対パスまたは相対パスであってもよい)、ルートフォルダのフルパスで 37 #インデントのレベルを調整するために使用されるパラメータ2 38 #1 (を含むルートフォルダ内のファイルを階層サブフォルダとサブファイル)及び図くぼみ 39 #002 40 # 003 41である # 004.py 42は、 #1 __init__.py 43である # 003.py 44である # __init__.py 45 #003.py 46は #1 005.py 47 #__init__.py