Skip to main content
 首页 » 编程设计

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

2025年05月04日16jyk

我正在开发一个简单的程序,该程序使用 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)) 

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

请您参考如下方法:

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

这里我觉得json是最自然的格式。用法示例

import json 
import numpy 
import sys 
 
data = numpy.array(json.loads(sys.argv[1])) 
# do you calculation 

现在可以在命令行运行了

python myscript.py '[[0,0,0,0],[0,1,1,0],[0,1,1,1],[0,0,0,0]]'