除此之外,我目前正在尝试创建一个基本的文本编辑器,它可以打开文本文件,编辑它们,然后保存它们。我已经使用this Tkinter对话框用于GUI'文件管理器',但我想知道是否有人知道如何访问Windows上默认的那个?
谢谢!
技术事项:
操作系统:Windows 7
语言:Python 2.7.3
编辑1
通过DEFAULT文件对话,我的意思是Windows资源管理器对话:
我也用mac。假设我的应用程序是跨平台的,那么我是否可以让程序检查操作系统是什么,然后打开Finder
或Windows Explorer.
我需要程序能够在不同的命令中保存和打开项目。我该怎么做?
答案 0 :(得分:1)
目前还不清楚你在问什么,因为tkinter带有的那个在Windows中是默认的。这是另一个link,以防你在某个地方混淆了。请记住,您可以设置它,以便它只找到某种类型的文件,在特定位置启动,返回文件名或目录,甚至打开文件(我认为)
如果您的意思是Windows Explorer
,则可以将其打开并使用pywin32
关闭它,但不是其他。取自answer
import subprocess
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"')
答案 1 :(得分:1)
尝试导入tkFileDialog:
import tkFileDialog as tkfd
def save():
savenm = tkfd.asksaveasfile()
f = open(savenm.name,"w")
# then put what to do with the opened file
def open():
opennm = tkfd.askopenfile()
f = open(savenm.name,"r")
# then put what to do with the opened file
然后创建一个使用函数的按钮:
import Tkinter as tk
root=tk.Tk()
SAVELOADFRAME = tk.Frame(root)
SAVELOADFRAME.pack()
savebtn = Button(SAVELOADFRAME,text="Save",command=save)
savebtn.pack(side=LEFT)
root.mainloop()
loadbtn = Button(SAVELOADFRAME,text="Open",command=open)
loadbtn.pack(side=RIGHT)
如果您有记事本框,可能需要将文件中的文本插入到tk.Text小部件中。以上代码仅适用于基于文本的文件(例如* .js,* .txt,* .py)而非* .exe,* .dll等等。
希望能解决您的问题:^)