2018年1月2日火曜日

Pythonで引数を受け取る方法

Pythonで引数を受け取る方法を紹介します。

Pythonで引数を受け取るには、sysモジュールをimportします。
import sys

def usage_and_exit():
    print("""
USAGE: python test.py [filename]
    """)
    sys.exit(-1)

args = sys.argv
if len(args) != 2:
    usage_and_exit()

filename = args[1]

sys.argvが引数のリストです。
argvの最初の要素(上記プログラムだとargs[0])には、実行中のスクリプトが格納されています。なので、通常、スクリプトの引数は2つ目の要素から格納されることになります。

上記のサンプルコードでは、引数のリストのサイズをチェックして、サイズが2じゃなかったら(引数が1個指定されていない場合)、usageを表示して、プログラムを終了するようにしています。

プログラムの終了は、sys.exitで可能です。

以下は引数を処理するサンプルコードになります。

import sys

# 引数の配列を取得
args = sys.argv

for i, arg in enumerate(args):
    if arg == "-a":
        argA = args[i+1]
    elif arg == "-b":
        argB = args[i+1]
   

sys.argv で、引数の配列を取得できます。そのあと、forループで引数を処理しています。上のサンプルコードの名前が hoge.py だとすると、以下のように実行する想定です。

$ python hoge.py -a 50 -b 100

これで、変数argAに50が、変数argBに100が代入されます。

0 件のコメント:

コメントを投稿

JavaScriptで10進数と16進数を変換する方法

JavaScriptで10進数と16進数を変換する方法を紹介します。 まず、16進数を、10進数に変換する方法です。 以下のサンプルコードでは、16進数の"DB"や"0A"を、10進数に変換しています。 var a = pa...