tkinter: get filename of askopenfilename

rom rompubil at gmail.com
Thu Jun 25 00:46:31 EDT 2009


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... 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