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