sys
シス(標準ライブラリ)
意味 Pythonシステムとやり取り
sysとは?
sysモジュールは、Pythonインタープリタや実行環境に関する情報を提供したり、操作するための関数や変数をまとめたものです。
sysの具体的な使い方
システム情報とコマンドライン引数の取得
import sys
# Pythonバージョンの表示
print(f'Pythonのバージョン: {sys.version}')
# プラットフォームの表示
print(f'実行プラットフォーム: {sys.platform}')
# コマンドライン引数の表示
print('コマンドライン引数:')
for i, arg in enumerate(sys.argv):
print(f' 引数 {i}: {arg}')
# Pythonのパスを表示
print('\nPythonの検索パス:')
for path in sys.path:
print(f' {path}')
👇出力結果
Pythonのバージョン: 3.9.5 (default, May 3 2021, 08:33:26)
[Clang 12.0.0 (clang-1200.0.32.29)]
実行プラットフォーム: darwin
コマンドライン引数:
引数 0: script.py
引数 1: arg1
引数 2: arg2
Pythonの検索パス:
/Users/username/projects
/usr/local/lib/python39.zip
/usr/local/lib/python3.9
/usr/local/lib/python3.9/lib-dynload
/Users/username/Library/Python/3.9/site-packages
sysモジュールを使用して、Pythonのバージョン、実行プラットフォーム、コマンドライン引数、Pythonの検索パスを表示します。これらの情報は、スクリプトの動作環境の把握やデバッグに役立ちます。
標準出力のリダイレクトと復元
import sys
import io
# 元の標準出力を保存
original_stdout = sys.stdout
# 標準出力を文字列バッファにリダイレクト
sys.stdout = io.StringIO()
# この出力は文字列バッファに送られる
print('この出力はキャプチャされます。')
print('これも同様です。')
# キャプチャされた出力を取得
output = sys.stdout.getvalue()
# 標準出力を元に戻す
sys.stdout = original_stdout
# キャプチャされた出力を表示
print('キャプチャされた出力:')
print(output)
print('この出力は通常通り表示されます。')
👇出力結果
キャプチャされた出力:
この出力はキャプチャされます。
これも同様です。
この出力は通常通り表示されます。
sysモジュールを使用して標準出力をリダイレクトし、プログラムの出力をキャプチャする方法を示しています。これは、ログ作成やテスト時の出力確認などに役立ちます。
sysに関するよくある質問
sysが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのsysやthreading.Semaphore、threading.Lock、shelve、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Pythonを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!