我已经创建了一个Tkinter
应用程序,并且有一个保存函数,可以使用cPickle
保存文件。但是,我希望执行一个保存功能(或自动保存),如果文件已经创建,则不会弹出保存对话框。我正在寻找如何做到这一点的建议。我想检查函数是否在之前被调用过,如果是的话,绕过对话框,但是如果用户在保存之前取消这个过程,我想这会破坏这个选项。我是否应该使用os.path.isfile
查看该文件是否存在
def file_save_as(saved):
"""Save .gsd binary file"""
designer_save_file = saved
if not designer_save_file:
designer_save_file = filedialog.asksaveasfile(
initialdir="C:/", mode="w",
defaultextension=".db",
filetypes=(("GSD", "*.gsd"), ("All files", "*"))
)
if designer_save_file is None:
return
else:
gsd_save_name = designer_save_file.name
basename = os.path.basename(gsd_save_name)
path = os.path.dirname(gsd_save_name)
gsd_data = {"Data"}
pk.dump(gsd_data, open(path + "/" + basename, "wb"))
full_path = path + "/" + basename
return full_path
save_path = file_save_as(None)
file_save_as(save_path)
print(save_path)
# Hotkey to save current gsd portal progress
keyboard.add_hotkey("ctrl+s", lambda: file_save_as(save_path))
谢谢大家的帮助。我最终创建了一个如上所述的标志,然后在该路径中传递。工作完美
相关问题 更多 >
编程相关推荐