【Python】 ディレクトリ内のファイルを数える方法

新米太郎
新米太郎

皆さんこんにちは新米です。

今回はディレクトリ内のファイルをカウントする方法を紹介するよ!

ディレクトリ内のファイルを数える

使用する関数は、以下4点。

関数名

意味

sum()

合計を求める

os.listdir()

ファイル・ディレクトリの一覧を取得

os.path.join()

パスの結合

os.path.isfile()

ファイルの存在を確認


<サンプルコード>

dir = 'ディレクトリパス'
print(sum(os.path.isfile(os.path.join(dir,name)) for name in os.listdir(dir)))

上記のコードだと「正直ぱっと見て何やってるか分からん💦」
人がいると思うので、改めて分解したコードを以下で紹介します。



試しに実行してみる

ファイルが正しく数えられるか実際に実行して確認してみましょう。

Step1.ディレクトリ&ファイルの作成

例)デスクトップ上にTestディレクトリ内「a.txt」,「b.txt」,「c.txt」3つのファイルを作成。



Step2.
コードの作成

import os

dir = './Test'
count_file = 0

#ディレクトリの中身分ループ
for file_name in os.listdir(dir):

  #ファイルもしくはディレクトリのパスを取得
  file_path = os.path.join(dir,file_name)

  #ファイルであるか判定
  if os.path.isfile(file_path):
    count_file +=1

print(count_file) 

 

◇短縮バージョン(短く書きたい人向け)

import os

#ディレクトリのパスを指定
dir = './Test'

#ファイル数を出力
print(sum(os.path.isfile(os.path.join(dir, name)) for name in os.listdir(dir)))


Step3.
実行

python count_file.py

実行結果

3

◇実行時の参考手順◇

格納したファイル数が出力されればOK!

 

今回はこれで終わり。バイバーイ✋




コメント

タイトルとURLをコピーしました