我正在使用Python构建一个科学实验室,用户可以在其中创建,修改和分析各种对象.我想在程序中放置一个Python shell,因此用户可以通过shell操作对象.(注意:他也可以通过常用的GUI操作对象.)
一个模型说明了这一点:http: //cool-rr.com/physicsthing/physicsthing_mockup_thumb.gif
我怎么能做这种事呢?
我考虑过使用eval
,但我明白eval
无法处理import
,例如.
根据您的GUI框架,它可能已经完成:
spyder
)以下是我将PyCrust嵌入到应用程序中的方法:
import wx.py.crust
...
...
# then call
crustFrame = wx.py.crust.CrustFrame(parent = self)
crustFrame.Show()
Run Code Online (Sandbox Code Playgroud)
在self
这里指的是我的主框架(衍生wx.Frame
).这将创建一个在您的应用程序中运行的PyCrust窗口,并允许您检查存储在主框架中的所有内容(因为self
).