我正在制作一个小程序,将一些文件从游戏备份到某个网站,如dropbox,但不是添加我想手动备份的每一个游戏。我想制作一个小向导,如果游戏的文件属于某些东西,它会附加信息。
例如,假设我想备份类似我的世界的游戏。我希望向导询问游戏的可执行文件,可选图标以及要备份的信息类型等信息。当程序第一次启动时,我希望它为用户提供一个搜索框来查找游戏,然后程序会检查它是否存在,并提供一个漂亮的界面与复选框和事情来选择你想要做的事情。
我基本上是在询问是否存在某种用于存储信息的数据库,应该从单个数据库中复制该信息。但是,当有人下载我的程序并将其拥有的游戏添加到列表中时,它应该从单个数据库中复制该信息。
如果我在解释事情上很可怕,我很抱歉:/
答案 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)
这些都是我未经测试的......它们只是在我的头顶,可能包含轻微的错误