我知道我们可以使用sys.argv,但是与此有关。
我想将列表作为参数传递:
Example [5,1,6,[5,2]]
这是一个嵌套列表,我想按原样将其作为输入。
python myprogram.py [5,1,6,[5,2]]
这是我的程序:
import sys;
input_list = sys.argv[1].split(',')
print(input_list)
我确实获得了列表,但是如果我将其输出,则结构上是完全错误的:
['[5', '1', '6', '[5', '2]]']
如您所见,我让它等于input_list[0] == 5
而不是'[5'
,现在我输入的嵌套列表也不再嵌套。代替input_list[3] ==[5,2]
,input_list[3] is equal to '[5'
。
我该怎么办?我需要照原样使用它。
答案 0 :(得分:2)
尝试一下:
import ast
input_list = ast.literal_eval(sys.argv[1])
那么输出将是
[5, 1, 6, [5, 2]]