我有下面的代码,我试图让用户打开一个文本文件,并且一旦用户选择了它,我希望代码读取它(这不是一个完整的代码块,只是为了展示我的后面)。用askopenfilename打开和读取文件
但是,我使用tkFileDialog.askopenfilename并添加'mode ='rb''或使用下面的代码和使用读取它会产生一个错误的困难。
有谁知道我可以如何安排这样做,因为我不希望为每个项目(如Menu和Listbox)输入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,也能读我打开该文件。
你不妨先从一个简单的问题:你可以写,打开并打印特定文件Python程序,说'在/ etc/passwd'或其他一些简单的,已知对存在,文件? – sarnold
我以前曾使用过读写文本文件,但从未使用过Tkinter,打开文件后它有点困惑。我需要剥去文件名吗? – user2063