我有一个用Python编写的应用程序,并使用wxpython进行GUI。嵌入在应用中的是pyShell。我旁边有一个编辑器,可以编写python代码,并在shell中执行。与此相关,由于缺乏文档和示例,我有两个问题:
1)要执行在编辑器中编写的代码(即可以是带有for循环e.t.c.的多行代码),我应该使用run
还是Execute
?我现在正在使用Execute
,因为它似乎执行了#34;所有代码"而不是"逐行",但我不确定。
2)如果发生错误(包括SyntaxErrors),我该如何捕获?我尝试在shell.Execute(<editor-code>)
的呼叫周围尝试/除外,但我没有抓住异常(它被打印到shell中)。似乎从shell.Execute
也没有返回任何内容。我希望找到一个解决方案,如果可能的话,您不必预先解析代码。如果你不能这样做,我想预先解析代码是唯一的选择。