2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】sysモジュールの使い方まとめ(Python)

Last updated at Posted at 2025-06-22

はじめに

datetimeモジュールを使ってカレンダーを実装する課題で、ターミナルから引数を受け取るためにsysモジュールを使用しました。
備忘録として、基本的な使い方をまとめました。

使う前に import

import sys

sysは標準ライブラリ含まれるモジュールで、print() や len()などのbuilt-in functionとは異なり使う前に import が必要です。

sys.argv

import sys
print(sys.argv)

sys.argv はコマンドライン引数のリストです。sys.argv[0] はスクリプト自身のファイル名で、sys.argv[1] 以降が実際の引数になります。

実行例:

python myscript.py -m 2
['myscript.py', '-m', '2']

sys.exit()

if not 1 <= month <= 12:
    print(f"{month} is neither a month number (1..12) nor a name")
    sys.exit(1)

引数に終了コードを入れることで、プログラムが終了されます。
sys.exit(0) は正常終了、sys.exit(1) はエラー終了を意味します。

sys.path

import sys
print(sys.path)

importされたときに、built-inモジュール以外のモジュールを検索するパスの一覧を取得できます。スクリプトの中で使いたいモジュールはsys.pathの中に記載されている必要があります。
別のプロジェクトで作ったモジュールのパスは、sys.path.append(PATH)で追加できます。

カレンダー作成の際の月指定オプションの例

import sys

if "-m" in sys.argv:
    if len(sys.argv) < 3:
        print("Please specify 1~12 after the -m option")
        sys.exit(1)
    try:
        month = int(sys.argv[2])
    except ValueError:
        print("Please specify 1~12 after the -m option")
        sys.exit(1)
    if not 1 <= month <= 12:
        print(f"{month} is neither a month number (1..12) nor a name")
        sys.exit(1)

        

参考リンク

おわりに

今回はsysモジュールについてまとめました。
コマンドライン引数処理やエラーハンドリングの際に使用できるモジュールとして抑えておきます。
これからも少なくとも実装で使ったモジュールについてはしっかり抑えるクセをつけておこうと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?