【Python】巨大なファイルを探す

機能

巨大なファイルを探すPythonプログラムです。

指定パス配下の指定サイズ以上のファイルを検索します。

サンプル動画

youtu.be

プログラム

#! Python3
# 機能
#  巨大なファイルを探す
# 使い方
#  1.Pythonを実行する
# 実行コマンド
#  python huge_file_finder.py パス ファイルサイズ
#  python huge_file_finder.py C:\work\python 1000000

import os
import sys

if len(sys.argv) != 3:
    sys.exit("使い方:python huge_file_finder.py パス ファイルサイズ")

path = sys.argv[1]
search_size = int(sys.argv[2])
found = False

# サブフォルダも含めて検索する
for folder_name, _, file_names in os.walk(path):
    for file_name in file_names:
        file_path = os.path.join(folder_name, file_name)

        # ファイルサイズを取得する
        try:
            file_size = os.path.getsize(file_path)
        except FileNotFoundError:
            print("size:不明 file:" + file_path)
            continue

        # 指定サイズ以上のファイルを出力する
        if file_size >= search_size:
            print("size:" + "{:,}".format(file_size) + " file:" + file_path)
            found = True

if not found:
    print("Not Found.")

使い方

  1. Pythonを実行する

コマンド

実行コマンド

python huge_file_finder.py パス ファイルサイズ
python huge_file_finder.py C:\work\python 1000000

パスは相対パスでも絶対パスでも指定可能です。

実行環境

プログラム実行時の環境は以下になります。

開発環境については以下を参考にして下さい。

stmtk358.hatenablog.com

プログラムのバッチ化については以下を参考にして下さい。

stmtk358.hatenablog.com

exeファイル

Python環境がなくても実行可能なexeファイルもあります。

とりあえず試してみたい方は以下からダウンロードして下さい。

github.com

実行方法

コマンドラインから以下のコマンドを実行して下さい。

huge_file_finder.exe パス ファイルサイズ
huge_file_finder.exe C:\work\python 1000000

GitHub

今回使用したプログラムやテストデータはGitHubにアップロードしています。

github.com

参考文献

www.oreilly.co.jp