Argparse将参数列表转换为以空格分隔的字符串

时间:2019-11-01 15:36:41

标签: python argparse

import argparse

parser = argparse.ArgumentParser(description='Short sample app')

parser.add_argument('-a',nargs='+')
args = parser.parse_args(['-a', '1', '4'])
print(args.a)

打印字符串['1','4']的列表,但我需要args.a为以空格分隔的字符串,即'1 4'。怎么办?

1 个答案:

答案 0 :(得分:2)

使用parse_args之后,使用string.join(iterable)方法,其中字符串为' ',并将结果分配给args.a

import argparse

parser = argparse.ArgumentParser(description='Short sample app')

parser.add_argument('-a',nargs='+')
args = parser.parse_args(['-a', '1', '4'])

# in practice, check if -a is set
if args.a is not None:
    args.a = " ".join(args.a)

# later ...

if args.a is not None:
    print('"%s"' % args.a)
"1 4"