スポンサーリンク

【Python】sysモジュールとは?

記事内に広告が含まれています。

Pythonのsysモジュールは、Pythonプログラムの実行環境に関するさまざまな情報を提供し、プログラムの動作を制御するための関数や変数を含む標準ライブラリの一部です。

sysモジュールが何であるか、主要な機能、具体的な使用例を簡単にまとめます。

スポンサーリンク

sysモジュールとは

sysは、Pythonの標準ライブラリに含まれるモジュールで、Pythonインタプリタとプログラムの対話を可能にします。

たとえば、コマンドライン引数の取得、標準入出力のリダイレクト、Pythonの実行環境情報の取得など、プログラムの制御をより細かく行うために使われます。

sysモジュールはインポートすることで使用できます。

import sys
スポンサーリンク

主要な属性とメソッド

以下はsysモジュールの主要な属性とメソッドの解説です。

sys.argv

sys.argvは、コマンドライン引数を格納するリストです。

Pythonスクリプトを実行する際に引数を渡すことで、その引数をプログラム内で取得できます。

import sys
print("Number of arguments:", len(sys.argv))
print("Arguments passed:", sys.argv)

このスクリプトをpython example.py arg1 arg2と実行すると、sys.argv['example.py', 'arg1', 'arg2']となります。

sys.exit()

sys.exit()はプログラムの実行を終了します。任意の終了コードを指定できます。

一般的には0は正常終了を、0以外はエラー終了を意味します。

import sys
if len(sys.argv) < 2:
    print("Insufficient arguments!")
    sys.exit(1)

sys.path

sys.pathはPythonがモジュールを検索するパスのリストです。

このリストに新しいディレクトリを追加することで、カスタムモジュールの検索パスを変更できます。

import sys
sys.path.append('/path/to/custom/module')
print(sys.path)

sys.stdin, sys.stdout, sys.stderr

これらは標準入力、標準出力、標準エラーを指します。

これにより、デフォルトの入出力をリダイレクトしたり、カスタム出力ストリームを作成したりできます。

import sys
sys.stdout.write("Hello, World!\n")

sys.version

sys.versionは使用中のPythonインタプリタのバージョン情報を提供します。

import sys
print("Python version:", sys.version)

その他の便利な属性とメソッド

  • sys.getsizeof()
    オブジェクトのメモリサイズをバイト単位で返します。
  • sys.platform
    実行中のプラットフォームを示す文字列を返します。
  • sys.maxsize
    Pythonで扱える整数の最大値を提供します。

import sys
print("Platform:", sys.platform)
print("Max int size:", sys.maxsize)

実用例: 標準入力のリダイレクト

sys.stdinを使って標準入力をファイルや別のストリームにリダイレクトすることが可能です。

import sys
from io import StringIO

original_stdin = sys.stdin
sys.stdin = StringIO('Hello, this is a test input.')
input_text = input()  # 標準入力から文字列を取得
print("Input captured:", input_text)

sys.stdin = original_stdin  # 元の標準入力に戻す

まとめ

sysモジュールはPythonプログラムの制御や情報取得に欠かせないモジュールです。これを活用することで、Pythonスクリプトの柔軟性や使いやすさを向上させることができます。

スポンサーリンク
Python
著者SNS
タイトルとURLをコピーしました