go编译.so文件在python中执行

简介: 在python中调用go代码

go代码

package main

import(
    "C"
)

func main(){}

// 上面都是固定的,需要其他包的话自行导入

// 定义函数,可定义多个,每个函数都要export
//export HelloWorld
func HelloWorld(info *C.char) *C.char {

    GoStr := C.GoString(info)
    GoStr += "123"

    return C.CString(GoStr)
}

编译

go build -buildmode=c-shared -o hello.so hello.go

编译后生成hello.so和hello.h,python中只需要so文件。

pythob中调用

# python3

import os
from ctypes import cdll, c_char_p

# 导包
lib = cdll.LoadLibrary(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'hello.so'))

# 获取函数
hello = lib.HelloWorld

hello.argtype = c_char_p
hello.restype = c_char_p

# 调用
print(hello(b"guido"))
目录
相关文章
|
23天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
2天前
|
Rust 安全 程序员
|
7天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
7天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
7天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
33 0
|
7天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
12 0
|
7天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
9天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
38 9
|
22天前
|
存储 测试技术 Go
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
|
23天前
|
C++ Python
【C++/Python】C++调用python文件
【C++/Python】C++调用python文件

热门文章

最新文章