未分類

【python】特定のフォルダ内にあるフォルダを取得

  • このエントリーをはてなブックマークに追加

こんにちは、今回はpythonで特定のフォルダにあるフォルダの一覧を取得する方法です。
パソコン内のファイルを自動処理したい場合によく使いますので覚えておきましょう。

特定のフォルダ内のファイルとフォルダの一覧を取得するコード

まずは基本形のフォルダ内のファイルとフォルダの一覧を取得するコードです。
特に追加でモジュールなどのインストールは必要ありません。

import os

f =  os.listdir(r"【フォルダのパス】")
print(f)

非常に簡単ですね。
1行目で「os」モジュールをインポートしています
3行目の「os.listdir(“【フォルダのパス】”)」で特定のフォルダ内にあるファイルとフォルダの一覧を読み込んでいます。

ただし、このままではファイルとフォルダの一覧となっており、フォルダのみの一覧を取得したい場合もあると思います。
フォルダのみ取得する場合は、「os.path.isfile()」という関数を使います。

特定のフォルダ内のフォルダのみの一覧を取得するコード

「os.path.isfile()」は対象のpathがファイルなら「True」、そうでない場合は「False」を返す関数です。

import os
fs = []

for f in os.listdir(r"【フォルダのパス】"):
    if not os.path.isfile(r"【フォルダのパス】" + f):
        fs.append(f)

print(fs)		

2行目でフォルダ名を入れるリストを宣言しています。
4行目ではファイルとフォルダの一覧を「f」に繰り返しています
5行目で「os.path.isfile()」を使用しファルダのみ取得しています。「if not os.path.isfile(r”【フォルダのパス】” + f)」の「not」を消すことでフォルダではなくファイルのみ取得することも可能です。
6行目で取得したフォルダ名をリストに追加しています。

  • このエントリーをはてなブックマークに追加