Go Mod 项目中调用 Python 方法的详细指南
在 Go Mod 项目中调用 Python 方法需要使用 Go 语言的 Python 解释器绑定库,例如 go-python 或者 go-cpython。这些库提供了 Go 语言与 Python 的交互功能,允许 Go 程序调用 Python 方法。
以下是一个简单的示例,演示如何在 Go Mod 项目中调用 Python 方法:
- 安装
go-python或者go-cpython库
go get github.com/sbinet/go-python
- 创建一个 Python 脚本文件
example.py,其中包含一个名为hello的函数:
def hello(name):
print('Hello, ' + name + '!')
- 在 Go Mod 项目中创建一个
main.go文件,使用go-python库调用 Python 方法:
package main
import (
"github.com/sbinet/go-python"
)
func main() {
python.Initialize()
defer python.Finalize()
// 加载 Python 模块
module := python.PyImport_ImportModule("example")
if module == nil {
panic("Unable to load module")
}
// 获取 Python 函数对象
helloFunc := module.GetAttrString("hello")
if helloFunc == nil {
panic("Unable to get function")
}
// 调用 Python 函数
args := python.PyTuple_New(1)
python.PyTuple_SetItem(args, 0, python.PyString_FromString("John"))
helloFunc.Call(args, python.PyDict_New())
// 释放资源
args.DecRef()
helloFunc.DecRef()
module.DecRef()
}
- 运行程序,输出结果为:
Hello, John!
这就是如何在 Go Mod 项目中调用 Python 方法的基本步骤。需要注意的是,Go 语言与 Python 的交互需要注意内存管理,确保正确地释放资源。
原文地址: https://www.cveoy.top/t/topic/kWkr 著作权归作者所有。请勿转载和采集!