You have already opened the file when you did f = open(filename)
.
To print the contents of the file to the console, you could do print f.read()
.
Or go through the file line by line & print the contents like
for line in f:
print line
Here is an example of how to open a file and print it's contents on the UI.
I found this example to be helpful and it shows exactly what you want:
from Tkinter import Frame, Tk, BOTH, Text, Menu, END
import tkFileDialog
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("File dialog")
self.pack(fill=BOTH, expand=1)
menubar = Menu(self.parent)
self.parent.config(menu=menubar)
fileMenu = Menu(menubar)
fileMenu.add_command(label="Open", command=self.onOpen)
menubar.add_cascade(label="File", menu=fileMenu)
self.txt = Text(self)
self.txt.pack(fill=BOTH, expand=1)
def onOpen(self):
ftypes = [('Python files', '*.py'), ('All files', '*')]
dlg = tkFileDialog.Open(self, filetypes = ftypes)
fl = dlg.show()
if fl != '':
text = self.readFile(fl)
self.txt.insert(END, text)
def readFile(self, filename):
f = open(filename, "r")
text = f.read()
return text
def main():
root = Tk()
ex = Example(root)
root.geometry("300x250+300+300")
root.mainloop()
if __name__ == '__main__':
main()
Source: http://zetcode.com/tkinter/dialogs/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…