简而言之,
之间的区别是什么tkFileDialog.asksaveasfile
和
tkFileDialog.asksaveasfilename
我无法理解文档中的内容
答案 0 :(得分:4)
asksaveasfile
询问用户是否有文件,然后以写入模式打开该文件并将其返回给您,以便您可以在其中书写。
asksaveasfilename
向用户询问文件,然后返回该文件的名称。没有文件被打开;如果你想写入文件,你必须自己打开它。
asksaveasfilename
可能优先于asksaveasfile
,如果你想对文件做更好的事情,而不仅仅是向它写入数据。例如,您可能希望首先将文件作为备份复制到另一个目录。在这种情况下,您更愿意只获取文件名,以便您可以执行复制,而无需担心文件是否打开会导致复制失败。
答案 1 :(得分:2)
根据http://tkinter.unpythonic.net/ wiki:
类似于:
首先,您必须决定是要打开文件还是只想获取文件名以便自行打开文件。在第一种情况下,您应该在后一种情况
tkFileDialog.askopenfile()
中使用tkFileDialog.askopenfilename()
。
然后:
保存文件的工作方式类似。您还有两个函数变体,一个用于获取可用于保存数据的已打开文件,另一个用于获取文件名以便自行打开文件。这些功能仅在单个文件版本中提供。多文件版本毫无意义。