1
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?

1分で分かるsysの使い方

Last updated at Posted at 2025-04-15

1. 始めに

今日はsysについて紹介していきます!
カレンダーを作る中でsysモジュールにはすごく苦戦しました。他の関数とどう組み合わせていいか分からない、そもそも書き方あってるのかと思いながら公式ドキュメントを何周も読んでました。
そんな悩みを解決するために私が1から書き方伝授します!sysは種類が多すぎるのでカレンダー作成の際に作ったものを参考に説明していきます。

それではまず私の完成のコードからご覧ください。

完成形がこちら!
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-m',   type=int, required=True)
    args = parser.parse_args()
    month = args.m
    if not 1 <= month <=12:
        print(f'{month} is neither a month number (1..12) nor a name')
        sys.exit(1)
    if __name__ == "__main__":
   main()


これを見た時きっとあなたの頭の中には「???」が浮かんでいると思います。

私も正直最初は「このコードはどうなっているんだ」という気持ちでいっぱいでした。

このコードを噛み砕いて解いて説明していきます。

2.sysを使ったプログラムの書き方について

2-1. mainを定義する

mainを定義する
def main():

if __name__ == "__main__":
   main()

mainを定義するのは、関数の後ろに書けるからです。変数名の衝突も防ぐことができるので定義しましょう。

2-2. parserを作る

parserを作る
def main():
    parser = argparse.ArgumentParser()

perserを作ります。プログラムの説明なども()内に書く事ができます。プログラム名や利用方法、オプションの追加など全体を定義するところになります。

2-3. parserの引数の設定をする

parserの引数の設定をする
     parser.add_argument('-m',   type=int, required=True)

引数とはコマンドラインで使う「-〇〇」などのオプションのことです。Linuxコマンドのls -aで言うところの-aのことです。引数を指定するには([引数],[文字型or数字型],[オプションを必須に指定])という構成で書きます。最初に作ったparserに引数の設定を加えると-mが使えるようになります。

2-4. argsの引数を取得する

argsの引数を取得する
     args = parser.parse_args()

argsはコマンドの引数を取得するために使うものです。追加した引数を使うために指定します。

2-5. argsの引数をmonthに渡す

argsの引数をmonthに渡す
    month = args.m

monthargで取得した-mの値を渡すことで指定した数字かどうかを判断します。

2-6. monthの数字が1~12か判断する

monthの数字が1~12か判断する
   if not 1 <= month <=12:
        print(f'{month} is neither a month number (1..12) nor a name')

-mで指定した数字が1~12だったらカレンダーを出力してそれ以外の数字はエラーにします。

2-7. exit()で終了する

exit()で終了する
        sys.exit(1)

sys.exit(1)を使うとプログラムを終了できます。

3. 最後に

このように細かく見ていくとすごく流れがよく分かりますよね。
これ以外にもsysモジュールはたくさんあるので色々なモジュール使ってきたいです!
他のsysモジュールも気になった人はぜひ調べてみてください!
1
1
1

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
1
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?