在python 3中将列表列表指定为命令行参数

时间:2019-06-04 20:26:05

标签: python python-3.x list

我认为这个问题可以自我解释。我想使用列表列表作为命令行参数,例如:

python3 awesome_code.py --list=[[var1,var2],[var3,v4]..]

这有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以为此使用json.loads。

import json
import sys
l = json.loads(sys.argv[1])
for x in l:
    print(x)
python3 test.py [[1,2,3],[4,5,6]] 

输出:

[1, 2, 3]
[4, 5, 6]

答案 1 :(得分:0)

您可以使用argparse定义一个更典型的shell命令行,如下所示:

python3 awesome_code.py --list v1 v2 --list v3 v4

结果将是

[['v1', 'v2'], ['v3', 'v4']]

这是示例代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
    '--list',
    action='append',
    nargs='*',
    )
args = parser.parse_args('--list v1 v2 --list v3 v4'.split())
print(args.list)