2012-08-31 90 views
0

我正在制作一个小程序,将某些文件从游戏备份到Dropbox等网站,而不是添加我想手动备份的每一个游戏。我想制作一个小游戏,向游戏的文件添加信息。为python应用程序存储数据

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

我基本上是问有没有某种数据库来存储信息,并且应该从单个数据库中复制这些信息。但是,当有人下载​​我的程序并将他们的游戏添加到列表中时,它应该从单个数据库复制该信息。

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

+0

你有什么试过的?另外,请尝试缩小到具体问题。 –

+0

我想知道是否有一个数据库来存储信息,并为程序的每个用户创建一个本地数据库,该数据库只包含需要从大型数据库中复制的信息。 – user1155844

+2

你可以a)使用[pickle](http://docs.python.org/library/pickle.html)来存储序列化的Python对象b)使用像[sqlite3]这样的数据库(http://docs.python.org /library/sqlite3.html)来存储信息,这些信息也可以分发,或者c)提出自己的格式来存储与程序相关的信息。没有更多的信息,我们不可能说他们哪一个是最好的选择。 –

回答

3

使用sqlite3的,只是存储用户数据的名称 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() 

或使用咸菜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) 

两个这些都是未经测试的...他们只是我的头顶,可能包含小错误

+0

谢谢:D,我从来没有想过用这种方式使用泡菜。 – user1155844

相关问题