PythonでWindowsの指定したフォルダ内にあるフォルダのみをフルパスで取得するにはどうすればいいか検証してみました。(指定したフォルダにあるファイルは除外します。)
検証に使用したPythonのバージョンは「Python 3.8.3」です。
今回使用する関数は以下です。
関数 | 説明 |
---|---|
os.listdir() | 指定したフォルダパスに存在するファイル名、フォルダ名を取得する |
os.path.join() | 複数のパスを結合する |
os.path.isdir() | フォルダだったらTrueを返す |
検証1:指定したフォルダ内のファイル、フォルダをフルパスで取得
ファイルを除外しないで指定したフォルダ内のファイルとフォルダをフルパスで取得してみます。
import osdef directory_list(search_path):
for name in os.listdir(search_path):
path = os.path.join(search_path, name)
print(path)
if __name__ == ‘__main__’:
directory_list(r’\\192.168.3.10\c$\Program Files\Mozilla Firefox’)
os.path.join()で指定したフォルダパスと(画像だと「\\192.168.3.10\c$\Program Files\Mozilla Firefox」)os.listdir()で取得したファイル名、フォルダ名を結合させてフルパスを取得することができました。
検証2:ファイルは除外してフォルダのみフルパスで取得する
指定したフォルダから配下のファイル、フォルダのフルパスを取得できたので次にファイルは除外してフォルダのみフルパスで取得します。
import osdef folderpath_list(search_path):
for name in os.listdir(search_path):
path = os.path.join(search_path, name)
if os.path.isdir(path) == True:
print(path)
if __name__ == ‘__main__’:
folderpath_list(r’\\192.168.3.10\c$\Program Files\Mozilla Firefox’)