Pickle 输出不可读
Pickle output is not readable
正在开发一个保存笔记的笔记程序,将每个笔记显示为 tkinter window。将笔记保存在 pickled 文件中,每个 pickled 对象显示为单独 window 上的标签。
global notes
load_color()
f = open('m.data', 'rb')
try:
while True:
try:
notes = pickle.load(f)
except EOFError:
break
root = Tk()
root.title('Note')
note_label = Label(root, text=notes, fg=color).pack(side=TOP)
root.mainloop()
except EOFError:
pass
这是在单独 window 上显示每个对象的函数。显示笔记时,每条笔记都是这样显示的:
64832376note
颜色显示正确。
不确定为什么会这样。它应该显示我在 window 中作为注释输入的内容。如果这还不够解释,这里是完整的代码:https://pastebin.com/6rpeFfED
提前致谢
因为note()
函数里面的语句note = str(input("Take a note: "))
会将输入的笔记保存到本地变量note
中。然后你在 dump_notes()
函数中引用 note
,它实际上引用了 note()
函数的引用。
要解决此问题,最简单的方法是修改 dump_notes()
函数以接受参数,例如 dump_notes(note)
,然后将 note()
函数中的 dump_notes()
更新为 dump_notes(note)
.
正在开发一个保存笔记的笔记程序,将每个笔记显示为 tkinter window。将笔记保存在 pickled 文件中,每个 pickled 对象显示为单独 window 上的标签。
global notes
load_color()
f = open('m.data', 'rb')
try:
while True:
try:
notes = pickle.load(f)
except EOFError:
break
root = Tk()
root.title('Note')
note_label = Label(root, text=notes, fg=color).pack(side=TOP)
root.mainloop()
except EOFError:
pass
这是在单独 window 上显示每个对象的函数。显示笔记时,每条笔记都是这样显示的:
64832376note
颜色显示正确。
不确定为什么会这样。它应该显示我在 window 中作为注释输入的内容。如果这还不够解释,这里是完整的代码:https://pastebin.com/6rpeFfED 提前致谢
因为note()
函数里面的语句note = str(input("Take a note: "))
会将输入的笔记保存到本地变量note
中。然后你在 dump_notes()
函数中引用 note
,它实际上引用了 note()
函数的引用。
要解决此问题,最简单的方法是修改 dump_notes()
函数以接受参数,例如 dump_notes(note)
,然后将 note()
函数中的 dump_notes()
更新为 dump_notes(note)
.