首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存与另存为建议标记

保存与另存为建议标记
EN

Stack Overflow用户
提问于 2020-11-09 02:40:56
回答 1查看 78关注 0票数 1

我已经创建了一个Tkinter应用程序,并有一个使用cPickle的保存功能,保存文件。然而,我正在寻找一个保存功能(或自动保存),如果文件已经创建,则不会弹出保存对话框。我正在寻找如何做到这一点的建议。我想检查一下这个函数以前是否被调用过,如果调用过,就绕过这个对话框,但是如果用户在保存之前取消了这个过程,我想这会破坏这个选项。我是否应该使用os.path.isfile来查看该文件是否存在?

代码语言:javascript
复制
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))
EN

回答 1

Stack Overflow用户

发布于 2020-11-26 12:52:14

感谢大家的帮助。我最终创建了一个如上所述的标志,然后在该路径中传递。效果很好。

代码语言:javascript
复制
def auto_save():
if os.path.isfile(file_flag):
    save_data(file_flag)
else:
    file_save_as()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64741793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档