我正在Go中构建一个工具,它需要提供一种方法来解析在Python脚本的全局范围内声明的变量。将来我想把这个扩展到节点.js也。它需要跨平台。你知道吗
基本上,如果某人有以下Python代码:
#!/usr/bin/env python
hello = "world"
some_var = "one"
another_var = "two"
var_three = some_func()
我想在我的Golang代码中访问这些变量键和值。对于函数,我希望能够访问它返回的值。你知道吗
我目前的想法是使用Golang exec.Command
函数运行脚本,并以某种格式(例如JSON)将变量打印到它的stdout,而这些格式又可以用Golang进行解析。思想?你知道吗
它们属于不同的运行时环境。Golang不能直接访问Python运行时中的变量。维卡反之亦然。但是,您可以对它们进行编程,以便通过标准I/O或环境变量传递变量值。关键是确定适当的信息交流格式。你知道吗
例如,如果python脚本将参数作为输入并将结果(编码为JSON)打印到stdout。然后可以使用适当的参数调用脚本,并将stdout解码为JSON。你知道吗
例如:
你知道吗范围.py
你知道吗主菜单.go
输出全局变量
要将Python中的全局变量作为JSON对象输出,请执行以下操作:
输出:
对于此脚本,可以使用与上一个类似的main():
输出:
相关问题 更多 >
编程相关推荐