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

Reply via email to