【Python】特定のファイルを収集する
機能
特定のファイルを収集するPythonプログラムです。
例えば、以下のコマンドを実行するとinputフォルダ配下にあるテキストファイル(.txt)をoutputフォルダにコピーします。
サブフォルダも検索対象です。
python file_collecter.py .txt input output
サンプル動画
プログラム
#! Python3 # 機能 # 特定のファイルを収集する # 使い方 # 1.Pythonを実行する # 実行コマンド # python file_collecter.py キーワード 検索パス 出力パス # python file_collecter.py .txt input output # python file_collecter.py テスト input output import os import sys import shutil if len(sys.argv) != 4: sys.exit("使い方:python file_collecter.py キーワード 検索パス 出力パス") keyword = sys.argv[1] search_path = sys.argv[2] output_path = sys.argv[3] # 出力フォルダを作成する os.makedirs(output_path, exist_ok=True) # サブフォルダも含めて検索する for folder_name, _, file_names in os.walk(search_path): for file_name in file_names: # キーワードが含まれないファイルは対象外 if keyword.lower() not in file_name.lower(): continue # 対象ファイルをコピーする file_path = os.path.join(folder_name, file_name) print("Copying {}...".format(file_path)) shutil.copy(file_path, output_path)
使い方
- Pythonを実行する
コマンド
実行コマンド
python file_collecter.py キーワード 検索パス 出力パス python file_collecter.py .txt input output python file_collecter.py テスト input output
実行環境
プログラム実行時の環境は以下になります。
開発環境については以下を参考にして下さい。
プログラムのバッチ化については以下を参考にして下さい。
exeファイル
Python環境がなくても実行可能なexeファイルもあります。
とりあえず試してみたい方は以下からダウンロードして下さい。
実行方法
コマンドラインから以下のコマンドを実行して下さい。
file_collecter.exe キーワード 検索パス 出力パス file_collecter.exe .txt input output file_collecter.exe テスト input output
GitHub
今回使用したプログラムやテストデータはGitHubにアップロードしています。