2

他のファイルから呼び出される 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')
    ...

ボタンの自動実行を停止するにはどうすればよいですか? そして、なぜこれが起こっているのですか?誰でも私を助けることができますか?ありがとうございました!

4

1 に答える 1

5

関数を呼び出しているために発生します。で作成したような関数オブジェクトを代わりに渡しますlambda

..., command=(lambda: exp(Output)))
于 2013-10-10T02:17:08.693 に答える