我试图通过按下我的GUI上的按钮(名为BEN.py)来执行外部脚本(名为EC.py),我希望将其插入GUI中的列表(list1)。
我的外部脚本(EC.py)是这样的:
import scipy
import numpy as np
from scipy import misc
from scipy import ndimage
I = scipy.misc.imread('lena.jpg').astype(int)
J = (I/10)*10
K = J + 10
Print K
我的GUI(BEN.py)代码是:
import os
import Tkinter as tk
import ttk
def Execute():
EC.K
list1.insert(END, K)
我的按钮小部件:
mybutton = Button(myGUI, text=”Execute Code”, command = Execute).pack()
我的输出列表:
list1 = Listbox(myGUI, height=20, width=80)
一切都相当不错,只是在我按下按钮之前只运行我的GUI代码它已经读取了EC.py脚本。我想要的是只有当我按下按钮才能运行此脚本。
答案 0 :(得分:1)
我想(因为你没有写完整的源代码)你写了导入EC 在致电EC.K之前 当然,Python在启动时会生成EC.pyc(编译版本),以优化多模块导入并验证所有隐含模块的语法。
你想要的是拥有动态生成的代码。 EC.py 我没有关注这种行为的安全问题,但最简单的方法是使用:
try: execfile ("EC.py")
except Exception,msg:
print msg
raise