0
好的,所以我正在开发一个DnD应用程序,并且我想使用filedialog.asksaveasfile()命令保存字符表。python中的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。
出了什么问题?
您可能也可以在asksaveasfile中使用'mode =“a”',将您写入的所有内容附加到文件末尾。你应该把'file_.write(string)'移到for循环中。 – fhdrsdg 2015-03-30 21:45:25
好。找到解决方案的好工作。自我回答是堆栈溢出的最佳选择。 – Zizouz212 2015-03-31 02:39:25