我有一个用 python 编写的应用程序。我想让我的用户能够通过允许他们运行自己的脚本来操作应用程序对象。他们很可能在脚本中出错。如果出现错误,我想确保应用程序不会停止运行。我想在我的应用程序中嵌入一个调试器来帮助他们调试他们的脚本。
例如,我在我的应用程序中的 shape.py 中定义了一个点类:
class QVPoint(object):
def __init__(self, x, y):
self.x = x
self.y = y
def addPoint(self, aPoint):
self.x = self.x + aPoint.x
self.y = self.y + aPoint.y
我想让他们能够运行如下脚本:
from shapes import QVPoint
a = QVPoint(1,1)
a.addPoint(QVPoint(2,2))
print "<" + str(a.x) + ',' + str(a.y) + ">"
print "<%d,%d>" % (a.x, a.y)
print 'done'
我认为这必须使用解释器、调试器,但我不确定有两个方面,1)如何将在应用程序中创建的对象公开给脚本,以及 2)如何确保应用程序不会停止如果一个错误导致脚本停止。
我敢肯定这之前一定有人问过,但我找不到。欢迎所有答案。
很多谢谢
大卫