python - 如何使用 Python 创建与语言无关的库?

标签 python api

如果我在 Python 中创建一个包,那么另一个 Python 用户可以导入该包并与之交互。

我如何创建一个包,以便其他用户使用什么语言调用库无关紧要?

我可以指定输入和输出文件格式,这样另一种语言就可以通过仅提供输入文件和读取输出文件来与我的 Python 代码交互。但是,创建输入和输出文件的计算成本非常高。有更简单的解决方案吗?

最佳答案

如果您希望另一种语言能够直接使用您的库(不使用任何类型的远程服务或 IPC 东西,这是完全不同的鱼),您需要编写 语言绑定(bind),这意味着他们在目标语言中调用了一个层,该层在底层调用您的包。有多种工具包可用于创建它,但如果您希望能够从更高级别的脚本语言(如 Python)调用 C 或 C++ 库,通常就是您要做的事情。例如,在 C 中存在 SWIG 项目,以帮助从 Python、PHP、Ruby 等调用 C 成为可能。

这个页面会给你一堆介绍链接,老实说这是一个大而难的话题。我自己只完成了从 C 到 Python 的工作。 https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages

关于python - 如何使用 Python 创建与语言无关的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44374397/

相关文章:

python - PyQT QtGui.QTableWidgetItem

python - 将字符串转换为日期时间对象

python - 将 numpy.stack() 与 numba njit 一起使用时出现 TypingError

node.js - REST API 端点,用于通过多步骤过程更改电子邮件和更改密码

java - Twitter API - 使用 t.co 缩短推文文本

python - 在 Pandas 数据框中添加带有索引的空行

python - 如何使用 Python 将粗体样式应用于 Excel 文件中的特定单词?

python - 如何找到一个国家的 woeid(地球上的哪个 id)

amazon-web-services - 如何使用 AWS CloudFormation 为我的其余 API 创建自定义 api 域名

php - Google API - 静态 map