我没有找到一种方法来保持变量在另一个python.py文件中定义/调用 使用“exec”后。
这是我用pyqt做的事情: 我想执行更大的代码和 所以我用“exec”来保持我的“gui程序”与我的“计算程序”分开
...gui. stuff...
if self.checkbox.checkState(): #"checkbox" = label of a checkboy in QTDesigner
x=14
exec(open("./calculation_where_x_used.py").read())
def onClose(self): # this is a button on my gui. labelled "Close"
print("bye")
self.close()
当我在gui中选中一个复选框后运行它。代码执行它应该做的事情,但是在“calculation_where_x_used.py”中定义的所有类型的矩阵和变量都不能通过shell调用...
我该如何解决这个问题? PS:我使用Spyder和Python 3.3
答案 0 :(得分:1)
不要(ab)使用eval;将您的计算代码转换为模块,导入并调用它。让它返回结果值 - 问题解决了。