0

我正在尝试通过按下我的 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)

一切都很顺利,除了在我按下按钮之前,它已经读取了 EC.py 脚本,只是通过运行我的 GUI 代码。我想要的是让这个脚本只在我按下按钮时运行。

4

1 回答 1

1

我想(因为您没有编写完整的源代码)您在调用 EC.K 之前编写了 import EC 当然 Python 在启动时会生成 EC.pyc(编译版本)以优化多模块导入并验证所有隐含模块的语法。

在某种程度上,您想要的是拥有动态生成的代码。EC.py 我不关注这种行为的安全问题,但最简单的方法是使用:

try: execfile ("EC.py")
except Exception,msg:
    print msg
raise
于 2015-03-26T18:29:52.953 回答