tkinter: get filename of askopenfilename

norseman norseman at hughes.net
Thu Jun 25 13:24:00 EDT 2009


rom wrote:
> 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      

# NO NO NO!  No global line here

> filename=''
> 
> root = Tkinter.Tk()
> 
> Tkinter.Button(root, text='Notch genes...', command=lambda:
> open_file_dialog()).pack()
> 
> def open_file_dialog():

# global var  goes here, inside the def so the var filename is not local
#  just like I show below.
>     filename = tkFileDialog.askopenfilename(filetypes=
> [("allfiles","*")])
> 
> 
> print filename
> 
> root.mainloop()
> ######################
> 
> Is this what you mean?
> 
> 
> On Jun 25, 1:28 pm, norseman <norse... at 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
>>
> 




More information about the Python-list mailing list