Pythonでコマンドを実行してディレクトリ内のサブディレクトリを取得する方法
Pythonはosモジュールを利用してディレクトリ内のすべての子ディレクトリを取得できます。
方法その1: os.walk()関数を使用する
os.walk()関数は指定ディレクトリ以下のすべてのサブディレクトリとファイルを巡回します。これはジェネレーターを返し、ジェネレーターの各要素は3つの要素を持つタプルでそれぞれが現在のディレクトリパス、現在のディレクトリ内のサブディレクトリのリスト、および現在のディレクトリ内のファイルのリストです。
たとえば、次のコードは現在のディレクトリにあるすべてのサブディレクトリを取得します。
import os
# 获取当前目录
root_dir = '.'
# 使用os.walk()函数遍历目录
for root, dirs, files in os.walk(root_dir):
for dir in dirs:
print(os.path.join(root, dir))
方法2:os.listdir()関数を使用する
os.listdir()関数は、指定ディレクトリ下の全てのファイルとサブディレクトリの名前のリストを返します。
例えば、以下のコードを使用して、現在のディレクトリにあるすべての子ディレクトリを取得できます。
import os
# 获取当前目录
root_dir = '.'
# 使用os.listdir()函数获取目录下的所有子目录
for dir_name in os.listdir(root_dir):
dir_path = os.path.join(root_dir, dir_name)
if os.path.isdir(dir_path):
print(dir_path)
いずれの方法も、指定されたディレクトリ以下のすべてのサブディレクトリを取得します。必要に応じてどちらの方法を使用するか選択してください。