我可以使用numpy将矩阵作为python中的命令行输入传递吗?

1 python numpy multidimensional-array command-line-arguments

我正在开发一个简单的程序,该程序使用numpy为我提供了Conway生活游戏的下一步。现在,我所能做的就是更改程序中的1和0:

seed = np.array([[0,0,0,0],[0,1,1,0],[0,1,1,1],[0,0,0,0]])  
print(nextStep(seed))
Run Code Online (Sandbox Code Playgroud)

但是我希望能够在命令行中传递初始数组。我有什么办法可以做到这一点?

Siy*_*Ren 5

您想要的基本上是将文本转换为结构化数据(此处为numpy数组)。因为手动执行操作(例如拆分字符串或使用eval)充满了错误和安全漏洞,所以我建议使用为您进行解析的库。

我认为这json是最自然的格式。用法示例

import json
import numpy
import sys

data = numpy.array(json.loads(sys.argv[1]))
# do you calculation
Run Code Online (Sandbox Code Playgroud)

现在您可以在命令行上运行

python myscript.py '[[0,0,0,0],[0,1,1,0],[0,1,1,1],[0,0,0,0]]'
Run Code Online (Sandbox Code Playgroud)