Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电话簿python_Python - Fatal编程技术网

电话簿python

电话簿python,python,Python,您好,我是python新手,一位di最近使用dictionary函数创建了一个电话簿,然后使用py2exe将其更改为exe。我现在面临一个问题,我在电话簿中输入姓名,然后当我退出程序并返回时,所有号码都消失了。那么,有没有办法保存输入程序的姓名和号码?请给我的代码,因为我正在为我的班级做这件事,他们会生气,如果号码消失,他们每次退出电话簿!请帮忙 如果您还不想学习关系数据库、NoSQL或云解决方案,可以从使用开始。好的,主要问题是您确实在数据库中存储了新的值,在本例中,它用表示,但在脚本执行之间

您好,我是python新手,一位di最近使用dictionary函数创建了一个电话簿,然后使用py2exe将其更改为exe。我现在面临一个问题,我在电话簿中输入姓名,然后当我退出程序并返回时,所有号码都消失了。那么,有没有办法保存输入程序的姓名和号码?请给我的代码,因为我正在为我的班级做这件事,他们会生气,如果号码消失,他们每次退出电话簿!请帮忙

如果您还不想学习关系数据库、NoSQL或云解决方案,可以从使用开始。

好的,主要问题是您确实在数据库中存储了新的值,在本例中,它用表示,但在脚本执行之间不保存它的条件。脚本中某个对象存在的时间-当解释器运行脚本并且某个对象具有某些链接时。当你重新启动你的程序时——你开始重新运行你的脚本,它只在dict中存储在脚本中指定的元素

在我看来,最简单的解决方案是使用python。你要把口述保存在一个文件里,然后把它加载到你的纸条里,最后保存

您需要使用以下内容更新脚本代码:

default = {'Sarah': 7736815441,
             'John': 7736815442}
def start():
    #some code here, before you're trying to access phone numbers in your dict
    try:
        phonebook = pickle.load(open("data.pb", "r"))
    except IOError:
        phonebook = default

#your script here

def exit():
    #some code here, last chance to modify your dict,
    #so changes will appear in next program executions
    pickle.dump(phonebook, open("data.pb", "w"))

希望您熟悉python函数,如果没有-您可以阅读有关python的文章

Google
python persistence
…问问自己:常规应用程序是如何保存您输入的数据的?正如Felix所说,您需要“用谷歌搜索”并自己编写代码,根本无法进行一般的“保存并加载任何内容”没有任何需要它如何工作的细节。至少每次退出之前,你可以将字典保存在一个文件中,并在启动时从中加载所有数据。使用易于读写的文件格式。OP正在学习中。为什么不建议一些选择而不是RTFM?不太确定,但我认为comp.lang.python总是尽量友好,简单回答,并在导师邮件列表中重新提问mmmm你们能不能指定一点仍然有疑问的内容,如果可能的话,提供一个更简单的教程或代码?不仅是dict,还有用户定义类的实例(有一些限制,这在您的案例中可能不是问题)可以泡菜。你好,你能帮我吗?我愿意把代码给你。你能帮我修改一下并发给我吗?我真的需要这个!Thanks@RomanSusi是的,我知道,但在这种情况下,我只知道dict是一个不断变化的对象。@VikaramVeerapandian好吧,我们可以试试,但这不是最好的学习方式。我明白,用dict来学习更容易这是你想要的方式,但是你最好自己去理解它。如果你不能理解一些具体的东西,请随意提问,这就是stackoverflow的全部内容。