总之,什么是在文档我不能从构建明白蟒蛇的Tkinter tkFileDialog
tkFileDialog.asksaveasfile
和
tkFileDialog.asksaveasfilename
的区别
总之,什么是在文档我不能从构建明白蟒蛇的Tkinter tkFileDialog
tkFileDialog.asksaveasfile
和
tkFileDialog.asksaveasfilename
的区别
asksaveasfile
要求用户输入一个文件,然后以写入模式打开该文件并将其返回给您,以便您可以在其中写入。
asksaveasfilename
向用户询问文件,然后返回该文件的名称。没有文件被打开;如果你想写入文件,你必须自己打开它。
asksaveasfilename
可能比asksaveasfile
更受欢迎,如果您想对文件做一些更有趣的事情,那么只需将数据写入文件。例如,您可能需要先将该文件复制到另一个目录作为备份。在这种情况下,您更愿意只获取文件名,以便您可以执行副本,而不必担心是否打开文件会导致副本失败。
其实我知道这两个函数都会询问用户文件名,因为我的要点是创建一个** new **文件。 (那么为什么你说'为用户提供一个文件,就像现有文件一样?“)。如果我想写一个新文件到用户磁盘,asksaveasfile应该是首选? – user3599803
@ user3599803:Tkinter的'asksaveas ...'函数允许用户选择现有的文件,但如果他们这样做,会弹出警告,询问他们是否要覆盖该文件。试试看! –
@Kevin一旦文件以“w”模式打开,它已经被截断了,所以如果你使用'asaveave文件',你就没有机会备份它。 –
按照http://tkinter.unpythonic.net/维基:
类似:
首先,你必须决定是否要打开文件,或者只是想为了打开的文件,以获取文件名的拥有。在第一种情况下,您应该在后一种情况下使用
tkFileDialog.askopenfile()
tkFileDialog.askopenfilename()
。
则:
保存文件的工作以类似的方式。您还有两个函数变体,一个用于获取打开的文件,您可以使用该文件保存数据,另一个文件名用于打开文件。这些功能仅在单个文件版本中提供。多文件版本将没有意义。
我想写一个新文件到用户磁盘,对话框应该让他保存在一个文件夹中 – user3599803
学习编程需要一些实验。你可以编写一个执行每个函数的小程序,并且看看自己会发生什么...... –