我有以下代码,我试图允许用户打开一个文本文件,一旦用户选择了它,我希望代码读取它(这不是一个完成的代码块,只是为了显示什么我追求)。
但是,我在使用 tkFileDialog.askopenfilename 并添加 'mode='rb'' 或使用如下代码并在产生错误时使用 read 时遇到了困难。
有谁知道我如何安排这样做,因为我不希望为每个项目(例如菜单和列表框)键入 Tkinter.'module'。Tkinter 的初学者,有点困惑!谢谢您的帮助!
import sys
from Tkinter import *
import tkFileDialog
from tkFileDialog import askopenfilename # Open dialog box
fen1 = Tk() # Create window
fen1.title("Optimisation") #
menu1 = Menu(fen1)
def open():
filename = askopenfilename(filetypes=[("Text files","*.txt")])
txt = filename.read()
print txt
filename.close()
fen1.mainloop()
显然我在这里遇到的错误是:
AttributeError: 'unicode' object has no attribute 'read'
我不明白如何使用 askopen 也无法读取我正在打开的文件。