tkinter: get filename of askopenfilename
rom
rompubil at gmail.com
Thu Jun 25 01:44:25 EDT 2009
Ok. I think I got it. I have to do it in this way:
###########################
import Tkinter
import tkFileDialog
filename=''
root = Tkinter.Tk()
Tkinter.Button(root, text='Notch genes...', command=lambda:
open_file_dialog()).pack()
def open_file_dialog():
global filename
filename = tkFileDialog.askopenfilename(filetypes=
[("allfiles","*")])
print_filename()
def print_filename():
print filename
root.mainloop()
###########################
Thanks again
On Jun 25, 1:46 pm, rom <rompu... at gmail.com> 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
> 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