[英]how to save to a already made file python not working
我有一個簡單的文本編輯器程序。 您可以在其中單擊另存為,然后選擇保存該文件的位置。 但是,如果單擊保存按鈕保存到該文件,我會得到他的錯誤:
TypeError:強制轉換為Unicode:需要字符串或緩沖區,找到文件
這是保存並保存為代碼的一部分。 我對所有功能都有一個變量(self.Saved):
def Save(self):
File = open(self.Saved,"w") --Where error occurs
if File is None:
return
self.Cont.insert(END,"<fg='" + self.FontColor + "'>")
self.Cont.insert(END,"<bg='" + self.BackgroundColor + "'>")
Content=self.Cont.get(1.0,END)
File.write(Content)
File.close()
def SaveAs(self):
File = tkFileDialog.asksaveasfile(mode='w', defaultextension=".txt")
if File is None:
return
self.Saved = File
self.Cont.insert(END,"<fg='" + self.FontColor + "'>")
self.Cont.insert(END,"<bg='" + self.BackgroundColor + "'>")
Content = self.Cont.get(1.0,END)
File.write(Content)
File.close()
在__init__
設置self.Saved = None
並執行
def Save(self):
if not self.Saved:
self.SaveAs()
else:
File = open(self.Saved,"w") # Where error occurs
if File is None:
return
self.Cont.insert(END,"<fg='" + self.FontColor + "'>")
self.Cont.insert(END,"<bg='" + self.BackgroundColor + "'>")
Content=self.Cont.get(1.0,END)
File.write(Content)
File.close()
編輯:使用asksaveasfilename
獲取文件名
def SaveAs(self):
filename = tkFileDialog.asksaveasfilename(defaultextension=".txt")
if not filename:
return
self.Saved = filename
File = open(self.Saved,"w")
if File is None:
return
self.Cont.insert(END,"<fg='" + self.FontColor + "'>")
self.Cont.insert(END,"<bg='" + self.BackgroundColor + "'>")
Content = self.Cont.get(1.0,END)
File.write(Content)
File.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.