【发布时间】:2017-06-01 16:25:58
【问题描述】:
对不起,标题不清楚,我真的不知道该怎么说,但我正在尝试用python制作一个文本编辑器。我想获取用户在 python 中打开或保存的文件的文件名:
def openFile():
file = filedialog.askopenfile(parent=main_window, mode='rb', title='Select a file')
contents = file.read()
textArea.delete('1.0', END)
textArea.insert('1.0', contents)
file.close()
在这里,用户会得到一个对话框来选择他想要打开的文件。但是我怎样才能得到他选择的文件的文件名呢?
def saveFileas():
file = filedialog.asksaveasfile(mode='w')
data = textArea.get('1.0', END+'-1c')
file.write(data)
file.close()
在这里,用户会看到一个对话框来保存他的文件,并输入他们想要的名称。同样,我需要用户输入的名称。两者都使用默认窗口open 和save 对话框。
这是我所有的代码:
from tkinter import Tk, scrolledtext, Menu, filedialog, END
main_window = Tk(className = " Text Editor")
textArea = scrolledtext.ScrolledText(main_window, width=100, height=80)
# def newFile():
def openFile():
file = filedialog.askopenfile(parent=main_window, mode='rb', title='Select a file')
contents = file.read()
textArea.delete('1.0', END)
textArea.insert('1.0', contents)
file.close()
def saveFileas():
file = filedialog.asksaveasfile(mode='w')
data = textArea.get('1.0', END+'-1c')
file.write(data)
file.close()
def saveFile():
content = textArea.get('1.0', END+'-1c')
if content:
print("There is content")
else:
print("There is no content")
#Menu options
menu = Menu(main_window)
main_window.config(menu=menu)
fileMenu = Menu(menu)
menu.add_cascade(label="File", menu=fileMenu)
fileMenu.add_command(label="New")
fileMenu.add_command(label="Open", command=openFile)
fileMenu.add_command(label="Save As", command=saveFileas)
fileMenu.add_command(label="Save", command=saveFile)
fileMenu.add_separator()
fileMenu.add_command(label="Print")
fileMenu.add_separator()
fileMenu.add_command(label="Exit")
textArea.pack()
main_window.mainloop()
【问题讨论】:
标签: python filedialog