Python for Operations

Python for Operations を学びます。このモジュールでは、Python と Bash の基礎比較、シェルコマンドの実行、Shutil を使用したファイル操作、JSON データの解析、標準ライブラリを使用したネットワークリクエストについて解説します。実践的なラボと実世界の課題を通じて、これらの必須の Linux スキルを習得します。

DevOps EngineerLinuxDevOps

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

短いシェルパイプラインでは扱いにくい運用タスクに、構造化データ、再利用可能なロジック、確実なエラー処理が必要になったとき、Python が実用的な次の選択肢になります。このハンズオンコースでは、Python 3 と標準ライブラリだけを使って小さな Linux 自動化ツールを作ります。

システムコマンドの実行、ディレクトリツリーの管理、JSON 設定の変換、タイムアウト付き HTTP チェックを、外部パッケージなしで実践します。最終チャレンジでは、ディスク使用量と Web サービス状態を機械可読な JSON レポートへ記録するローカル健康確認スクリプトを完成させます。

学習内容

  • Python 3 REPL を使い、Linux プラットフォーム情報を調べるスクリプトを書く
  • subprocess.run でコマンドを実行し、出力の取得とデコード、非ゼロ終了ステータスの処理を行う
  • ディレクトリとファイルを作成し、shutil で移動・コピーし、os.walk でツリーを走査する
  • 拡張子でファイルを絞り込み、設定データを変更する前にバックアップを作る
  • JSON を Python 辞書へ読み込み、値を変更し、json.dump で読みやすい JSON を書き出す
  • urllib.request で HTTP 状態を確認し、タイムアウトを設定して HTTP エラーと接続失敗を区別する
  • ディスクとローカルサービスの結果を /tmp/health_report.json へ書く、例外処理付き健康確認スクリプトを作る

このコースの対象者

保守しやすい Python 自動化を取り入れたい DevOps 学習者、システム管理者、Bash ユーザー向けです。

前提知識: Linux ターミナルとファイルシステムの基礎。Python の経験は必要ありません。

学習環境: Python 3、Bash、nano、標準 Linux コマンド、接続確認用のローカル HTTP サービス、Python 標準ライブラリを備えたブラウザー対応 Linux ターミナル。パッケージの追加やクラウドアカウントは不要です。

よくある質問

Requests などの外部 Python パッケージは必要ですか?

いいえ。すべての演習で subprocess、os、shutil、json、urllib などの標準ライブラリを使います。ネットワークラボでは意図的に Requests ではなく urllib.request を使用します。

一般的な Python プログラミングコースですか?

いいえ。特定の運用タスクに必要な構文と制御フローを扱います。クラス、パッケージング、Web フレームワーク、テストフレームワーク、一般的なアプリ開発は対象外です。

ファイル操作で重要なシステムファイルを変更しますか?

いいえ。プロジェクトディレクトリに使い捨ての test_env ツリーを作り、そのサンプルファイルで名前変更、移動、コピー、走査、絞り込みを練習します。

最終的な健康確認は実際に何を監視しますか?

df -h を実行し、http://localhost が HTTP 200 を返すか確認します。ディスク出力と online または offline のサービス状態を辞書にまとめ、有効でインデント付きの JSON を /tmp/health_report.json に書きます。これはローカルスクリプトであり、配備済みの監視基盤ではありません。

講師

labby
Labby
Labby is the LabEx teacher.