Pythonのライブラリの紹介です。それぞれの説明と使用例は以下になります。
L 070. logging.handlers(ログのハンドリング)
logging.handlers は、logging モジュールの補助で、ログをファイルにローテート保存したり、ネットワーク送信したりする機能を持ちます。
長期間稼働するアプリでは必須級。
▼主な用途
ログを一定サイズ・期間ごとに分割して保存
ログをリモートサーバへ送信(メール、SysLog など)
アプリケーションの運用監視
▼サンプル:ログファイルの自動ローテート
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger(‘my_logger’)
logger.setLevel(logging.INFO)
handler = RotatingFileHandler(‘app.log’, maxBytes=1024, backupCount=3)
logger.addHandler(handler)
logger.info(‘これはログのサンプルです’)
# maxBytes: ファイルサイズ上限(バイト)
# backupCount: 保持するバックアップ数
▼他の便利なハンドラ:
SMTPHandler: メール通知
SysLogHandler: syslog 送信
TimedRotatingFileHandler: 毎日 or 毎時間 ローテート保存
L 071. subprocess(外部プロセスの実行)
subprocess は、外部のコマンドやプログラムをPythonから実行するためのモジュールです。
旧式の os.system() に比べて強力・安全・双方向通信も可能。
▼主な用途
シェルコマンドをPythonから実行(例:ls, ffmpeg, git)
外部スクリプトやアプリの起動
出力やエラー結果をキャプチャ
▼サンプル:コマンドの実行と出力取得
import subprocess
result = subprocess.run([‘echo’, ‘Hello subprocess’], capture_output=True, text=True)
print(result.stdout) # => Hello subprocess
▼ 出力を取り込んで処理する
output = subprocess.check_output([‘ls’, ‘-l’], text=True)
print(output)
▼シェルを使う(危険な場合あり)
subprocess.run(“echo Hello && date”, shell=True)
# shell=True を使うときは ユーザー入力を直接渡さないこと(セキュリティリスク)
L 072. sched(スケジューリングタスクの実行)
sched は、特定の時間に関数を実行するための簡易スケジューリングライブラリです。
シンプルですが柔軟なスケジューリングができます。
▼主な用途
処理の遅延実行
簡易的なジョブスケジューラ
イベント順序の制御(ゲーム、シミュレーションなど)
▼サンプル:数秒後に関数を実行
import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def greet(name):
print(f’こんにちは、{name}さん!’)
scheduler.enter(5, 1, greet, argument=(‘太郎’,))
scheduler.run()
# enter(delay, priority, func, argument=()): delay 秒後に func を呼び出す
# run() を呼ばないとスケジュールは開始しません




