sys
モジュールについて
sys
モジュールはPythonの標準ライブラリの一つで、Pythonのインタプリタや実行環境に関する情報を扱う機能を提供しています。
システムに関する操作や情報取得、インタプリタの制御などでよく使われます。
よく使われるsys
モジュールのプロパティ・メソッド
1. sys.argv
:コマンドライン引数の取得
-
argv
は、スクリプトが実行されるときにコマンドライン引数をリストとして取得するためのプロパティです-
sys.argv[0]
にはスクリプト名が入り、引数はそのあとに続きます
-
- 例:
# sys_learn.py
import sys
print(f"スクリプト名:{sys.argv[0]}")
print(f"引数:{sys.argv[1:]}")
このように定義したsys_learn.pyをコマンドラインで実行してみましょう。sampleという引数を一つ指定してみます。
> python sys_learn.py sample
以下のような出力が得られたでしょうか?
スクリプト名:sys_learn.py
引数:['sample']
2. sys.exit()
:プログラムの実行を終了
-
sys.exit()
は、プログラムの実行を終了させるためのメソッドです - 例:
import sys
sys.exit(0)
- 注:0以外の引数を与えるとエラーとして扱われることが多いので、正常終了時は
sys.exit(0)
、異常終了時はsys.exit(1)
などと使い分けると良いです - また、メッセージを指定して実行すると、そのメッセージを表示してプログラムを終了します
- 例:
sys.exit("Error status: 400")
3. sys.path
:モジュールの検索パス
-
sys.path
はモジュールの検索パスのリストで、Python がモジュールを探す際にこのリスト内のディレクトリを順に検索します -
例:
import sys
print(sys.path)
- 実行時にモジュールを読み込むフォルダを追加したい場合は
sys.path.append('/path/to/directory')
のように指定できます - 注:一時的にモジュール検索パスを変更するのに便利ですが、あくまで実行中のみ有効な一時的な変更です。プログラムの安定性や再現性を確保するため、パスの管理は慎重に行いましょう。
まとめ
sys
モジュールには、Pythonインタプリタや実行環境に関する奥の情報が含まれており、エラーハンドリングやデバッグ、環境依存のコードを書く際に役立ちます。