Thanks for your response. I have modified this minimal program as you suggested but still is not able to print the filename:
###################### import Tkinter import tkFileDialog global filename filename='' root = Tkinter.Tk() Tkinter.Button(root, text='Notch genes...', command=lambda: open_file_dialog()).pack() def open_file_dialog(): filename = tkFileDialog.askopenfilename(filetypes= [("allfiles","*")]) print filename root.mainloop() ###################### Is this what you mean? On Jun 25, 1:28 pm, norseman <norse...@hughes.net> wrote: > OOPS - I left out the global statement > > rom wrote: > > Hi there, > > > I am writing an interface with Tkinter. My minimal program looks like > > this: > > ############# > > import Tkinter > > import tkFileDialog > > # define globals here > filename= '' # will take care of the problem > > > root = Tkinter.Tk() > > > Tkinter.Button(root, text='Notch genes...', command=lambda: > > open_file_dialog()).pack() > > > def open_file_dialog(): > > global filename # need this to assign to it > > > filename = tkFileDialog.askopenfilename(filetypes=[("all > > files","*")]) > > > # print filename > > > root.mainloop() > > ############# > > > I would like to recover the filename variable outside the > > "open_file_dialog" function. For instance, to be able to print the > > selected file name (uncomment "# print filename" line). > > > Is there a way to do that? > > > Thanks in advance. > > > R > > -- http://mail.python.org/mailman/listinfo/python-list