python - 如何在我在 Ubuntu 上运行的 Python 应用程序中加载 .so 库
问题描述
我有一些共享对象文件(.so 库)需要加载到我的 python 项目中,这些项目将在 Ubuntu 平台上运行。
目标是我有一些已经转换为 .so 文件的库,现在我需要将它们加载到我的 python 项目中。
任何人都可以分享这个的详细步骤吗?
解决方案
你可以使用ctypes
它,它很简单。
假设您有一个my-library.so
带有以下 C 函数的导出:
void say_hello(char *name) {
printf("Hello, %s!\n", name);
}
您将加载库并从 Python 调用函数,如下所示:
>>> from ctypes import cdll
>>> mylib = cdll.LoadLibrary('./my-library.so')
>>> mylib.say_hello("world")
Hello, world!
>>>
请注意,前导./
很重要,否则LoadLibrary
将查看默认库路径而不是当前文件夹。
有关详细信息,请参阅ctypes
.
推荐阅读
- javascript - 如何使用 localStorage 存储暗模式选项?
- python - 更改图表中的颜色
- javascript - Typescript / Angular中textarea元素内的选项卡
- java - 测试容器在 Spring Boot 项目中启动两个容器而不是一个
- amazon-web-services - 如何为远程端口转发配置 AWS EC2 实例?
- google-docs - 如何从 Google Docs 的表格中删除单元格
- powershell - 使用powershell根据文件名按顺序移动文件
- html - ckeditor 使页面无响应
- acumos - 无法在本地 VM 上部署 Acumos 门户。|
- php - 如何在 Codeigniter 中使用 update_batch 使用算术运算符更新我的表?