如何在脚本中使用Python REPL
我正在学习Python,想用Python来配合QT,而不仅仅是C++。我很好奇,是否可以在我的应用程序中嵌入一个Python解释器,作为一个交互式命令行工具(REPL)?
我希望用户能够通过加载一个文件来编写脚本,让这个文件作为插件,或者通过在一个文本框中输入代码来实现类似的功能,就像在C或C++中嵌入解释器一样,用Python来编写应用程序的脚本。
如果我的应用程序本身是用Python写的,并且通过py2exe或者类似的工具制作成一个独立的可执行文件,这样做是否可行?就像Anders在C# REPL中做的那样,或者Miguel在Mono中做的那样。
1 个回答
2
嗯,这些事情当然是可以做到的,但对于初学者来说有点难。
Python 提供了一个叫做 读-评-循环 的模块,但你还是需要在 QT 中创建一个控制台,这样你才能输入内容并显示结果。
插件系统也是一样。把一个脚本当作插件导入是很简单的,插件只需要导入你的应用程序就能访问它的状态。但这并不算真正的插件系统,你需要创建一个合适的 API,这样当应用程序的某些部分发生变化时,插件就不会出问题。