私の問題は、dict(argparse)です。 flagに属性が1つしかない場合、パーサーはstringを返します。それ以外の場合はlistを返します。 私は基本的にパーサーを作っています。それは入力argsからコマンドを作成します。 例:文字列に文字列またはリスト変数のいずれかを追加する
kwargs = {-name: "MyName", tags: ["tag_1", "tag_2", "tag_3"] }
必要な出力:
"--name Myname --tags tag_1 tag_2 tag3"
私は一種ことを行うために管理が、私は、これは最適な方法だとは思わない:/
for k, v in kwargs.iteritems():
if v is None:
continue
elif not isinstance(v, basestring):
print (v)
command = command+' {} '.format(k) + ' '.join(v)
else:
print (v)
command = command+' {} {}'.format(k, v)
また、私は、このメソッドを使用しますargparse、feth値vars(argparse.parse_args())
(これはこの質問の一部ではありませんが、誰かが知っているかもしれません)。 「 - 」その方法が有力行方不明続ける兆しを、私はそれらを持っているしたいのですが...たくさん:) 例:
--tag tag_1 tag_2 tag_3
がに変換されます。
[tag: tag_1, tag_2, tag3]
'.add_argument()'の 'dest'キーワード引数を見てください。 – zondo