python中的asksaveasfile对话框

时间:2015-03-30 21:16:04

标签: python file tkinter dialog save

好的,所以我正在开发一个DnD应用程序,我想使用filedialog.asksaveasfile()命令保存字符表。

以下是代码:

def save(self):
    file_=filedialog.asksaveasfile(parent=self, mode="w",title=\
"Save your Character Sheet",defaultextension=".dndcs",filetypes=[("Character Sheets", ".dndcs"), ("All Files", ".*")])
    #file_= open(str(saveName),"w")
    string=""
    list_vars=[self.player,self.character, self.dm,self.str,self.int,self.wis,self.dex,self.con,self.cha,self.JPpoison,\
               self.JPwands,self.JPparalysis,self.JPbreath,self.JPspell,self.class_,self.race,self.align,self.AC,self.HP,self.maxHP,self.XPtotal]
    for i in range(len(list_vars)):
        string=str(list_vars[i].get())+"\n"
        print(string)
    file_.write(string)
    file_.close()

它不会返回任何类型的异常,但是当我尝试使用编辑器打开文件时,我看到的只是第一行的0。

出了什么问题?

1 个答案:

答案 0 :(得分:3)

所以经过无数次尝试解决这个问题后,我注意到我犯了一个小错误。 实际上,它不是:ù

string=str(list_vars[i].get())+"\n"

但是:

string+=str(list_vars[i].get())+"\n"

除此之外,此代码可以使用,随意使用它。