【问题标题】:save input from user in a python program在 python 程序中保存用户的输入
【发布时间】:2016-03-09 23:03:42
【问题描述】:

我正在用 Python 编写一个程序,用户可以在其中输入保存的信息 - 即使程序终止。我该如何实现?

【问题讨论】:

  • 查找pickle。它允许您轻松保存(“序列化”)任何 Python 类型的数据,然后重新导入这些数据。
  • 是的,这是可能的 :-) 您可能应该 edit 您的问题包含您的代码;这样可以给出更具体的建议。不过,总的来说,我会说使用 json 模块可以很好地用于多种用途。
  • 您可以将其写入文件、使用数据库等。实际上有大量的存储选项。只需搜索,选择一个然后继续。
  • @roadrunner66 pickle 存在安全问题 (see here),除非我真的确定它的用途,否则我不会建议它。
  • 您应该refer to this 来改善您的问题。也就是说,您实际上正在寻找的是一个信号处理程序:stackoverflow.com/questions/1112343/…

标签: python


【解决方案1】:

假设您希望用户输入一串数据,您可以使用raw_input() 获取它,然后使用pickle 库将其发送到文件,如上面的cmets 所述。

要使用pickle,您应该在open 之前以写入模式创建一个文件,然后使用该文件将包含该字符串的对象转储到其中。

打开文件的安全方法是使用with statement,它将在语句结束时关闭。

import pickle

myData = raw_input('What is your name ? ')

with open("name.p", "wb" ) as myFile:
    pickle.dump(myData, myFile)

稍后,您可以通过以读取模式打开 pickle 文件并将其内容存储在变量中来取回对象。

import pickle

with open("name.p", "rb" ) as myFile:
    myData = pickle.load(myFile)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    相关资源
    最近更新 更多