如何在Python文件对话框中设置默认文件名?

8

当用户保存文件时,我希望能默认在文件对话框中设定一个值。有人能告诉我应该使用哪种语法吗?

saveFilePath = fileDialog.asksaveasfile(mode='w', title="Save the file", defaultextension=".txt")

例如:当文件对话框打开时,应填写NewFile。
3个回答

12
initialfile

如Bryan Oakley所提议的那样有效。


7

简短的回答是在saveFilePath中使用intialfile = 'default_file_name'。以下是一个Python 3代码块,您可以使用它从CSV读取数据帧并使用tkinter“另存为”。

    def ExportApplications():
        #reads the file to dataframe
        df_testFile = pd.read_csv('test.csv')

        #creates SaveAs dialogue and prompts user to save
        #you can enter multiple file type formats in data FYI
        data = [('csv', '*.csv')]
        file_out = asksaveasfile(filetypes=data, defaultextension=data,initialfile = "This_is_the_default_file_name_when_saving")

        #writes output to location specified by user in "Save As" dialogue
        df_testFile.to_csv(file_out, index=False, encoding="utf-8")

0
请尝试以下操作:
saveFilePath  =  filedialog.asksaveasfilename(initialdir = "/<file_name>",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))

https://pythonspot.com/tk-file-dialogs/


1
initialdir仅用于目录。对于文件名本身,您需要使用initialfile。此外,OP使用了asksaveasfile,但您的示例使用了asksaveasfilename,这可能会让刚开始学习tkinter的人感到困惑。 - Bryan Oakley
嘿,Bryan,你知道有什么方法可以做到这一点吗?因为上面的方法总是显示一个带有“登录”搜索结果目录的原因。 - typedecker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接