存储python应用程序的数据

时间:2012-08-31 01:31:07

标签: python backup

我正在制作一个小程序,将一些文件从游戏备份到某个网站,如dropbox,但不是添加我想手动备份的每一个游戏。我想制作一个小向导,如果游戏的文件属于某些东西,它会附加信息。

例如,假设我想备份类似我的世界的游戏。我希望向导询问游戏的可执行文件,可选图标以及要备份的信息类型等信息。当程序第一次启动时,我希望它为用户提供一个搜索框来查找游戏,然后程序会检查它是否存在,并提供一个漂亮的界面与复选框和事情来选择你想要做的事情。

我基本上是在询问是否存在某种用于存储信息的数据库,应该从单个数据库中复制该信息。但是,当有人下载​​我的程序并将其拥有的游戏添加到列表中时,它应该从单个数据库中复制该信息。

如果我在解释事情上很可怕,我很抱歉:/

1 个答案:

答案 0 :(得分:3)

使用sqlite3并只使用名称存储userdata http://docs.python.org/library/sqlite3.html

 import sqlite3
 db = sqlite3.connect("settings.db")
 c = db.cursor()
 c.execute("""CREATE TABLE IF NOT EXISTS userdata (
                    user_name TEXT,
                    settings1 TEXT,
                    settings2 TEXT
                    );""")
 c.execute("INSERT INTO user_data (user_name,settings1,settings2) VALUES (?,?,?)",("bob","some_Value","some Other Value")
 db.commit()  #save it
 c.execute("SELECT * FROM userdata WHERE user_name=?",GetUserName())
 print c.fetchall()

或使用pickle http://docs.python.org/library/pickle.html

 import pickle
 try:
     with open("settings.dat") as f:
         print pickle.load(f)
 except IOError:
      print "No Settings Found"
 user_data = {"bob":{"path1":"some/path","otherVar":"56"},
              "paul":{"url":"http://docs.python.org/library/sqlite3.html"}
              }
 with open("settings.dat","wb") as f: 
       pickle.dump(f)

这些都是我未经测试的......它们只是在我的头顶,可能包含轻微的错误