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 件のコメント:
コメントを投稿