Tkinter FileDialog Tkinter FileDialog tkinter tkinter

Tkinter FileDialog


If all of the files you need to open are accessible from a central location you could have your if statement open the file they needed for them.

Try setting those files as variables:

t_test = r'Path\To\File\location\t-test.file'

and so on for the rest of your files.

Then, instead of telling them what to open just open it with os.system():

os.system(t_test)

Don't forget to import os with the rest of your imports.


I figured it out on my own, with some help from the internet of course. My updated code is:

from Tkinter import *import tkMessageBoxfrom scipy import statsimport csvsample=[]def load_file():    fname = askopenfilename(filetypes = (("Text Files", ".txt"),                            ("HTML Files", "*.html;*.htm"),                                ("All Files", "*.*")))    global sample    if fname:        print "uploading file...",fname        try:            print("""Here comes the file""")        except:            showerror("Open Source File", "Failed to read file\n'%s'" % fname)        ifile  = open(fname, "rb")        data = csv.reader(ifile,delimiter=' ')        rownum = 0        for row in data:            colnum = 0            d=[]            for col in row:                print '%s' % col                d.append(float(col))                colnum += 1            sample.append(d)            rownum += 1        ifile.close()        print sampledef choose():        global sample        if q1.get() == 1 and q2.get() == 1 and q3.get() == 1 and q4.get() == 2 and  q5.get() == 1 and q6.get() == 2 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2 :            tkMessageBox.showinfo('t-test', 't-value is %s, p=%s' %stats.ttest_1samp(sample[0], 0.50 ))            #will do t-test here            print sample            # now sample list contains the data for doing t-test,            #you just need to call t-test to get the results and show it on message box        elif q1.get() == 1 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 2 and q7.get() == 2 and  q8.get() == 2 and q9.get() == 2:             tkMessageBox.showinfo('z-test', 'test statistic is %s, p=%s'%stats.ttest_1samp(sample[0], 5.0))        elif q1.get() == 1 and q2.get() == 1 and q3.get() == 2 and q4.get() == 2 and q5.get() == 1 and q6.get() == 2 and q7.get() == 1 and q8.get() == 2 and q9.get() == 2:            tkMessageBox.showinfo('Paired t-test', 'test statistic is %s, p=%s'%stats.ttest_rel(sample[0], sample[1]))        elif q1.get() == 2 and q2.get() == 1 and q3.get() == 2 and q4.get() == 2 and q5.get() == 1 and q6.get() == 1 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2:             tkMessageBox.showinfo('Two sample t-test', 'test statistic is %s, p=%s'%stats.ttest_ind(sample[0], sample[1]))        elif q1.get() == 2 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 1 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2:             tkMessageBox.showinfo('Two sample z-test', 'test statistic is %s, p=%s'%stats.ttest_ind(sample[0], sample[1]))        else:            tkMessageBox.showinfo('decision', 'You have either incorrectly answered a question about your data or none of the available tests are appropriate.')            #root.destroy()root = Tk()q1 = IntVar()Label(root,      text="""How many samples do you have?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text="One",            padx = 20,            variable=q1,            value=1).pack(anchor=N)Radiobutton(root,            text="Two",            padx = 20,            variable=q1,            value=2).pack(anchor=N)q2 = IntVar()Label(root,      text="""Which choice most closely fits your sample size?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Less than 30""",            padx = 20,            variable=q2,            value = 1).pack(anchor=N)Radiobutton(root,            text = """Greater than or equal to 30""",            padx = 20,            variable=q2,            value = 2).pack(anchor=N)q3 = IntVar()Label(root,      text="""Is the population mean known?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q3,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q3,            value = 2).pack(anchor=N)q4 = IntVar()Label(root,      text="""Is the standard deviation of your data known?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q4,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q4,            value = 2).pack(anchor=N)q5 = IntVar()Label(root,      text="""Do you wish to compare two groups?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q5,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q5,            value = 2).pack(anchor=N)q6 = IntVar()Label(root,      text="""Do you want to compare two sample means?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q6,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q6,             value = 2).pack(anchor=N)q7 = IntVar()Label(root,      text="""Is your data paired (E.g. before and after data)?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q7,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q7,            value = 2).pack(anchor=N)q8 = IntVar()Label(root,      text="""Are you testing proportions?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q8,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q8,            value = 2).pack(anchor=N)q9 = IntVar()Label(root,      text="""Do you wish to test for a difference between observed and expected data?""",      justify = LEFT,      padx = 20).pack(anchor=W)Radiobutton(root,            text = """Yes""",            padx = 20,            variable=q9,            value = 1).pack(anchor=N)Radiobutton(root,            text = """No""",            padx = 20,            variable=q9,            value = 2).pack(anchor=N)from tkFileDialog import askopenfilenamefrom tkMessageBox import showerrorButton(root,text = "Browse files", command = load_file, width = 10).pack()Button(root, text = "Submit", command=choose).pack()root.mainloop()