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?

Pythonのsysについて

Posted at

アウトプット用です

sysライブラリって何?

sysライブラリはPythonの標準ライブラリの1つでPythonシステムの操作をすることができます。

実行環境に関する情報の取得やコマンドライン引数を使用できたり、エラーメッセージを発生させプログラムを終了させることも可能です。

使用方法

以下でモジュールを読み込むことができます。

import sys

どうやって使うことが多いのか

今回はよく使われるsysモジュールを紹介します。

  1. argv()
  2. exit()
  3. path()

1. argv

sys.argvはコマンドライン引数をリストとして取得するためのプロパティです。argv[0]にはスクリプト名(実行されるファイル名)が入りその後に引数がリストに入っています。

以下は例です。

practice_sys.py
import sys

argv = sys.argv
print(f"スクリプト名 : {argv[0]}")
print(f"1つ目の引数 : {argv[1]}")
print(f"2つ目の引数 : {argv[2]}")

以下が実行結果です。

スクリプト名 : practice_sys.py
1つ目の引数 : -n
2つ目の引数 : taro

2. exit

exitはプログラムを終了させることができるメソッドです。
以下が使用例です。

squared.py
import sys

def squared_over_twenty(x):
    if x * x <= 20:
        print(f"{x}の2乗は20以上ではありません")
        sys.exit(1)
    else:
        return x * x


if __name__ == "__main__":
    result = squared_over_twenty(3)
    print(result)

上記のコードを実行すると以下の結果になります。

3の2乗は20以上ではありません

exitの引数で

  • 0は正常終了
  • 1は異常終了(エラー発生)
    このようにすることが多いです。

また、exitにそのままエラーメッセージを入れることも可能です。

sys.exit(f"{x}の2乗は20以上ではありません")

3. path

sys.pathはリストで格納されている環境変数のPathを確認することができます。以下が使用例です。

親ディレクトリに自作ライブラリが入ったディレクトリがあり、そこからimportしたい時

..
|-- python
|   |--x.py
|
|-- sample
|   |--example.py

x.pyからsample/example.pyをimportしたい時

import sys
sys.path.append("../sample")
from sample import example

このように記載することでimportすることができます。

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