我认为这个问题可以自我解释。我想使用列表列表作为命令行参数,例如:
python3 awesome_code.py --list=[[var1,var2],[var3,v4]..]
这有可能吗?
答案 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)