2

有很多关于如何在应用程序中嵌入 python 的教程/说明,但没有(我见过)关于如何使用嵌入式解释器并与应用程序交互的整体设计。

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

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

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

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

谢谢,
马修 A.托德

4

1 回答 1

1

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

正确的。

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

正确的。

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

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

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

意思是如果脚本计算了某些东西,那么在脚本执行完成后结果是否可供程序使用?

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

于 2009-11-05T19:11:51.853 回答