Pythonプログラミングで数字順の名前のファイルの個数を調べる

Pythonプログラミングで数字順の名前のファイルの個数を調べる方法です。

調べるファイル名の前提条件は以下の通りです。

  • 拡張子名が同じ
  • 1から始まり、1ずつ増えるファイル名(例:1.bmp,2.bmp,3.bmp,・・・)

使用している環境はWindowsでPython 3.13です。

1始まりで個数制限ありの場合

■■■■■■■■■ ■
123456789 10

以下の内容のPythonスクリプトファイル(pyファイル)を作成しました。

test5.py : 動作確認用ファイル

python

import time
import exdef

exdef.numfileexist("","bmp")

print("この画面は30秒間表示されます。")
time.sleep(30)

exdef.py : 自作関数ファイル

python

import os

file_end = 10

def numfileexist(fiedir,exte):
    for num in range(file_end) :
        if not bool(os.path.isfile(fiedir + str(num+1) + "." + exte)): 
            print(fiedir + str(num+1) + "." + exte + "ファイルがありません。")
            print(str(num) + "個のファイルが見つかりました。")    
            break
        elif bool(os.path.isfile(fiedir + str(file_end) + "." + exte)):
            print("チェック完了しました。")  
            break        
    return 

ファイル1.bmp,2.bmp…を置いてtest5.pyを実行しました。range(10)なので1~10について調べます。

実行結果の例はこのように表示されました。

CLI

3.bmpファイルがありません。
2個のファイルが見つかりました。
この画面は30秒間表示されます。

1から順にファイルを探して、最初に見つからなかったファイルのファイル名が表示されます。

見つかったファイルの個数が次の行に表示されます。

time.sleep()で指定した秒数の30秒間ほど画面が表示されたままになり、その後閉じます。

0始まりで個数制限ありの場合

■■■■■■■■■■ ■
0123456789 10

0始まりの場合、以下のようになります。

exdef.py : 自作関数ファイル

python

import os

file_end = 10

def numfileexist(fiedir,exte):
    for num in range(file_end+1) :
        if not bool(os.path.isfile(fiedir + str(num) + "." + exte)): 
            print(fiedir + str(num) + "." + exte + "ファイルがありません。")
            print(str(num) + "個のファイルが見つかりました。")    
            break
        elif bool(os.path.isfile(fiedir + str(file_end) + "." + exte)):
            print("チェック完了しました。")  
            break        
    return 

ファイル1.bmp,2.bmp…を置いてページ上部のtest5.py を実行しました。

実行結果の例はこのように表示されました。

CLI

10.bmpファイルがありません。
10個のファイルが見つかりました。
この画面は30秒間表示されます。

1始まりで個数制限なしの場合

■■■■■■■■■ ■  ・・・
123456789 10 ・・・

for~range()文からwhile文に変更するときは以下のようになります。

exdef.py : 自作関数ファイル

python

import os

def numfileexist(fiedir,exte):
    num = 1
    while True:
        if not bool(os.path.isfile(fiedir + str(num) + "." + exte)): 
            print(fiedir + str(num) + "." + exte + "ファイルがありません。")
            print(str(num - 1) + "個のファイルが見つかりました。")            
            break  
        num += 1      
    return 

ファイル1.bmp,2.bmp…を置いてページ上部のtest5.py を実行しました。

実行結果の例はこのように表示されました。

CLI

3.bmpファイルがありません。
2個のファイルが見つかりました。
この画面は30秒間表示されます。

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