我有一个从其他文件调用的python文件 每次导入python文件并从其他人调用mainApp时,python文件中的tkinter按钮会自动执行。 这是python文件代码的一部分
from Tktable import *
def exp(Output):
import csv
from tkFileDialog import askdirectory
folder=askdirectory();
if folder:
path = folder+'/outputTable.csv';
file = open(path, 'w');
writer = csv.writer(file)
title = ['Premise','Conclusion','Support','Confidence','Lift']
writer.writerow(title);
zip(*Output)
for item in zip(*Output):
writer.writerow(item)
file.close()
def mainApp(Output):
from Tkinter import Tk, Label, Button, Scrollbar, Frame
root = Tk()
top = Frame(root).pack(side = 'top', fill = 'x')
...
export = Button(top, text='EXPORT', command=exp(Output))
export.grid(row=0, column=4, sticky = 'e')
...
如何停止按钮的自动执行?为什么会发生这种情况?谁能帮我?谢谢!
答案 0 :(得分:2)
这是因为您正在调用该函数。相反,传递一个函数对象,例如使用lambda
创建的函数对象。
..., command=(lambda: exp(Output)))