宇宙船自動検出スクリプト

PythonPythonBeginner
オンラインで実践に進む

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

はじめに

このプロジェクトでは、現在のシステムのディスク使用量を検出する自動化スクリプトを作成する方法を学びます。このスクリプトは、銀河帝国の宇宙船保守エンジニアによって使用されることを想定しており、離陸前に宇宙船の基本データが正常であることを確認するために使用されます。

👀 プレビュー

$ python auto_check_script.py
['20480', '131', '20348']

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • 現在のシステムの総ディスク容量、使用済みディスク容量、および未使用ディスク容量を検出できる flight_check.py という名前の Python スクリプトを作成する方法。
  • auto_check_script.py ファイルに auto_check_script() 関数を実装して、flight_check.py スクリプトを実行してその出力をキャプチャする方法。
  • auto_check_script() 関数をテストして、それが正しく機能していることを確認する方法。

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • Python と os ライブラリを使用してシステム検出用の自動化スクリプトを作成する方法を理解する。
  • Python スクリプトを実行してその出力をキャプチャできる関数を実装する。
  • 自動化スクリプトの機能をテストして検証する。

flight_check.py ファイルを作成する

このステップでは、Python コードを使用して flight_check.py ファイルを作成する方法を学びます。

  1. テキストエディタを開き、flight_check.py という名前の新しいファイルを作成します。
  2. flight_check.py ファイルに、以下のコードを追加します。
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## 総ディスク容量
    print(used // (2**20))   ## 使用済みディスク容量
    print(free // (2**20))   ## 未使用ディスク容量

if __name__ == "__main__":
    check_disk_usage()

このコードは、shutil.disk_usage("/") メソッドを使用して現在のオペレーティングシステムの総ディスク容量、使用済みディスク容量、および未使用ディスク容量を取得する check_disk_usage() 関数を定義しています。その後、これらの値を MB 単位で表示します。

auto_check_script() 関数を実装する

このステップでは、auto_check_script.py ファイルに auto_check_script() 関数を実装する方法を学びます。

  1. /home/labex/project ディレクトリにある auto_check_script.py ファイルを開きます。
  2. auto_check_script() 関数に、以下のコードを追加します。
import os

def auto_check_script():
    result = os.popen("python flight_check.py").read().splitlines()
    return result

if __name__ == "__main__":
    file = open("flight_check.py", "w")
    file.write(
        """
import shutil

def check_disk_usage():
    total, used, free = shutil.disk_usage("/")
    print(total // (2**20))  ## 総ディスク容量
    print(used // (2**20))   ## 使用済みディスク容量
    print(free // (2**20))   ## 未使用ディスク容量

if __name__ == "__main__":
    check_disk_usage()
    """
    )
    file.close()

    print(auto_check_script())

このコードは、os.popen() 関数を使用して flight_check.py スクリプトを実行し、その出力をキャプチャします。その後、出力を行のリストに分割し、auto_check_script() 関数によって返されます。

auto_check_script() 関数をテストする

このステップでは、auto_check_script() 関数が正しく機能していることを確認するために、その関数をテストします。

  1. 以下のコマンドを使用して auto_check_script.py ファイルを実行します。
python auto_check_script.py

これにより、MB 単位で総ディスク容量、使用済みディスク容量、および未使用ディスク容量が出力されるはずで、以下のようになります。

['20480', '131', '20348']
  1. 出力がシステム上の実際のディスク使用状況と一致することを確認します。

おめでとうございます!このプロジェクトを完了しました。auto_check_script.py ファイル内の auto_check_script() 関数は、これで銀河帝国の宇宙船保守エンジニアによって使用できるようになりました。

✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために LabEx でさらに多くの実験を行うことができます。