ページへ戻る
印刷
Python/コマンドライン引数
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/コマンドライン引数 をテンプレートにして作成
開始行:
*コマンドライン引数の取得
Python実行時のコマンドライン引数は以下のようにして取得で...
import sys
for a in sys.argv:
print a
これ「arg_test.py」という名前で保存して実行すると
$ python arg_test.py a1 a2 a3 a4
arg_test.py
a1
a2
a3
a4
のように、「sys.argv」に最初に実行しているファイル名、残...
*argparseでコマンドライン引数をよりうまくあつかう
簡単なコマンドライン引数の取得なら「sys.argv」で十分です...
ですが、「sys.argv」だけを使って自力でそれらを作ると結構...
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser(description=u'二個の整...
parser.add_argument("a1", help=u"数値1", type=int)
parser.add_argument("a2", help=u"数値2", type=int)
args = parser.parse_args()
print args.a1, args.a2
これを以下のように実行すると、
$ python arg_test.py 2 5
結果
2 5
となります。
なにも引数無しで実行すると
$ python arg_test.py
結果
usage: arg_test.py [-h] a1 a2
arg_test.py: error: too few arguments
となり、使い方と「引数が少なすぎる」というメッセージを出...
二つ目の引数に数値以外を指定すると、
$ python arg_test.py 1 a
結果
usage: arg_test.py [-h] a1 a2
arg_test.py: error: argument a2: invalid int value: 'a'
このように、ちゃんと第二引数が不正であるというメッセージ...
さらに
$ python arg_test.py -h
とすると、
usage: arg_test.py [-h] a1 a2
二個の整数の引数をそのまま出力します
positional arguments:
a1 数値1
a2 数値2
optional arguments:
-h, --help show this help message and exit
ちゃんとヘルプメッセージが出ます。
オプションを指定するには以下のようにします。
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser(description=u'二個の整...
parser.add_argument("a1", help=u"数値1", type=int)
parser.add_argument("a2", help=u"数値2", type=int)
parser.add_argument("--add", help=u"加算する",action="st...
args = parser.parse_args()
if args.add:
print args.a1 + args.a2
else:
print args.a1, args.a2
ここで
parser.add_argument("--add", help=u"加算する",action="s...
が増えています。
「action="store_true"」を指定することで、もしオプションと...
実行結果は、
$ python arg_test.py --add 1 2
3
となり、加算されます。「--add」がなければ前の結果と同じで...
これらの処理を自分で実装するとかなり大変ですが、argparse...
argparseにはこれ以外にもたくさんの機能があります。
正直多すぎて使いこなせません。
ちょっとしたツールで使うなら上の例の程度知っておけば十分...
詳しい機能は、とてもここでは紹介しきれないので、公式サイ...
終了行:
*コマンドライン引数の取得
Python実行時のコマンドライン引数は以下のようにして取得で...
import sys
for a in sys.argv:
print a
これ「arg_test.py」という名前で保存して実行すると
$ python arg_test.py a1 a2 a3 a4
arg_test.py
a1
a2
a3
a4
のように、「sys.argv」に最初に実行しているファイル名、残...
*argparseでコマンドライン引数をよりうまくあつかう
簡単なコマンドライン引数の取得なら「sys.argv」で十分です...
ですが、「sys.argv」だけを使って自力でそれらを作ると結構...
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser(description=u'二個の整...
parser.add_argument("a1", help=u"数値1", type=int)
parser.add_argument("a2", help=u"数値2", type=int)
args = parser.parse_args()
print args.a1, args.a2
これを以下のように実行すると、
$ python arg_test.py 2 5
結果
2 5
となります。
なにも引数無しで実行すると
$ python arg_test.py
結果
usage: arg_test.py [-h] a1 a2
arg_test.py: error: too few arguments
となり、使い方と「引数が少なすぎる」というメッセージを出...
二つ目の引数に数値以外を指定すると、
$ python arg_test.py 1 a
結果
usage: arg_test.py [-h] a1 a2
arg_test.py: error: argument a2: invalid int value: 'a'
このように、ちゃんと第二引数が不正であるというメッセージ...
さらに
$ python arg_test.py -h
とすると、
usage: arg_test.py [-h] a1 a2
二個の整数の引数をそのまま出力します
positional arguments:
a1 数値1
a2 数値2
optional arguments:
-h, --help show this help message and exit
ちゃんとヘルプメッセージが出ます。
オプションを指定するには以下のようにします。
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser(description=u'二個の整...
parser.add_argument("a1", help=u"数値1", type=int)
parser.add_argument("a2", help=u"数値2", type=int)
parser.add_argument("--add", help=u"加算する",action="st...
args = parser.parse_args()
if args.add:
print args.a1 + args.a2
else:
print args.a1, args.a2
ここで
parser.add_argument("--add", help=u"加算する",action="s...
が増えています。
「action="store_true"」を指定することで、もしオプションと...
実行結果は、
$ python arg_test.py --add 1 2
3
となり、加算されます。「--add」がなければ前の結果と同じで...
これらの処理を自分で実装するとかなり大変ですが、argparse...
argparseにはこれ以外にもたくさんの機能があります。
正直多すぎて使いこなせません。
ちょっとしたツールで使うなら上の例の程度知っておけば十分...
詳しい機能は、とてもここでは紹介しきれないので、公式サイ...
ページ名: