Skip to main content
 首页 » 编程设计

python之嵌入 Python 设计

2025年05月04日9linjiqin

有很多关于如何将 Python 嵌入应用程序的教程/说明,但没有(我所见过的)关于应如何使用嵌入式解释器以及如何与应用程序交互的总体设计。

我能想到的唯一想法就是简单地为用户提供一种在程序中执行脚本的方法(菜单选项等)。所以某些类、函数、对象等将被导出到 python,一些脚本会做一些事情,然后所述脚本可以从程序运行。

这样的设计会“安全”吗?这意味着恶意/编写不当的脚本“损坏”程序和/或计算机是否可行?我假设它可能取决于脚本可用的功能(例如:它可能会尝试覆盖一些重要文件等)。如何防止这种情况发生? (例如:脚本认证、程序设计等)

这是特定于实现的,但是在脚本运行完成后保留脚本的效果是否可能/可行?这意味着如果脚本计算某些东西,那么在脚本执行完成后,结果是否可供程序使用?我认为如果程序被设置为与特定脚本交互是可能的,但程序将在大多数脚本编写之前发布;这样的设置似乎是对嵌入脚本语言的滥用。实际上是否存在您希望脚本执行的结果可用的情况,或者这是一种人为的情况,实际上并没有发生?

嵌入python还有其他设计吗?
以类似于插件架构的方式使用 python 怎么样?

谢谢,
马修 A. 托德

请您参考如下方法:

我唯一能想到的想法就是简单地为用户提供一种在程序中执行脚本的方法(菜单选项等)。

正确。

所以某些类、函数、对象等将被导出到 python,一些脚本会做一些事情,然后所述脚本可以从程序运行。

正确。

这样的设计会“安全吗?”

是的。除非你的用户是恶意的、精神病性的反社会人士。他们想让你的程序做有用的事情。他们首先购买/下载了该软件。他们认为它有值(value)。

他们信任您的软件。为什么不相信他们?

意思是如果一个脚本计算了一些东西,结果会在脚本执行完成后对程序可用吗?

像 Apache 这样的程序一直都在这样做。你搞砸了配置(“脚本”),它崩溃了。学过的知识?不要搞砸配置。