如何从命令行python获取列表作为输入?

时间:2019-05-08 11:30:34

标签: python string list

我知道我们可以使用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'

我该怎么办?我需要照原样使用它。

1 个答案:

答案 0 :(得分:2)

尝试一下:

import ast

input_list = ast.literal_eval(sys.argv[1])

那么输出将是

[5, 1, 6, [5, 2]]