我目前正在使用asksaveasfile
来保存文件,它运行正常。我唯一的问题是我无法获得新的文件名。我知道asksaveasfilename
存在,但如果我一起使用它们,它们会弹出两个我不希望发生的窗口。如果我尝试打印asksaveasfile
的输出,我会得到以下内容:
<_io.TextIOWrapper name='/home/work/newfile.txt' mode='w' encoding='UTF-8'>.
有没有办法可以从中获取文件名?
答案 0 :(得分:1)
只需使用.name
asksaveasfile
属性即可
import tkinter
file = tkinter.filedialog.asksaveasfile()
name = file.name
或者你可以使用asksaveasfilename
然后自己打开文件:
name = tkinter.filedialog.asksaveasfilename()
file = open(name,'w')
这样你也可以使用with
语句来确保文件正确关闭,这无论如何都是个好主意:
name = tkinter.filedialog.asksaveasfilename()
with open(name,'w') as f:
NotImplemented #do stuff with the file