天天看点

Golang调用Python

python是时髦的机器学习御用开发语言,golang是大红大紫的新时代后端开发语言。python很适合让搞算法的写写模型,而golang很适合提供api服务,两位同志都红的发紫,这里就介绍一下正确搅基的办法。

Golang调用Python

python :确保python正确安装,所谓正确安装,就是在系统中能找到<code>libpython.so(dylib)</code>,找到<code>python.h</code>。一般linux直接安装<code>python-devel</code>,mac直接用homebrew安装就可以。

golang安装:golang不需要什么特殊的处理,能找到<code>go</code>即可。

如果python安装正确,这里会自动编译并显示提示,事就这样成了。

首先写一个测试python脚本

然后写一个go脚本:

打印输出为:

这里简单解释一下。首先将这个脚本的路径添加到<code>sys.path</code>中。然后调用<code>pyimport_importmodule</code>导入包

使用<code>getattrstring</code>可以根据属性名获取对象的属性,相当于python中的<code>.</code>操作。调用python函数可以采用<code>object.call</code>方法,,列表参数使用tuple来构建。返回值用<code>pystring_as_string</code>从python字符串转换为c或go的字符串。

但是只要有这几个api,就足够 make python module rock &amp; roll。充分利用golang和python各自的特性,构建灵活而强大的应用了。