如何使用按钮小部件执行外部脚本?
Posted
技术标签:
【中文标题】如何使用按钮小部件执行外部脚本?【英文标题】:How to execute external script by using button widget? 【发布时间】:2015-03-25 23:09:13 【问题描述】:我正在尝试通过按下我的 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 脚本。我想要的是让这个脚本只在我按下按钮时运行。
【问题讨论】:
您可能想阅读modules。 【参考方案1】:我想(因为你没有写完整的源代码)你写了 import EC 在致电 EC.K 之前 当然 Python 在启动时会生成 EC.pyc(编译版)来优化多模块导入并验证所有隐含模块的语法。
在某种程度上,您想要的是动态生成代码。 EC.py 我不关注这种行为的安全问题,但最简单的方法是使用:
try: execfile ("EC.py")
except Exception,msg:
print msg
raise
【讨论】:
对不起@Jerome,我是python新手,有些事情对我来说仍然很困惑。当您认为我在调用 EC.K 之前导入了 EC.py 时,您是对的。我的疑问是在哪里包含您上面建议的代码?在 BEN.py 上?以上是关于如何使用按钮小部件执行外部脚本?的主要内容,如果未能解决你的问题,请参考以下文章