为我的Python程序存储特定于应用程序的参数(持久数据)的首选方法是什么?
我正在创建一个Python程序,需要存储一些参数:“project_name”,“start_year”,“max_value”,...
我不知道哪种方法可以存储这些数据(我必须在进行计算和报告时重复使用它们):使用本地TXT文件,使用非常简单的数据库(它是否存在于Python中?我使用SQLite?),...
非常感谢你。
答案 0 :(得分:0)
SQLite的。非常容易设置,并且您获得了许多内置数据库功能。您也不必处理文件读/写和解析。
答案 1 :(得分:0)
pickle
它:
import pickle
options = {
'project_name': 'foo',
'start_year': 2000
}
with open('config.pickle', 'wb') as config:
pickle.dump(options, config)
pickle
模块允许您将大多数Python对象转储到文件中并再次读回。
答案 2 :(得分:0)
您可以使用搁置库。来自搁置文件:
“架子”是一个持久的,类似字典的对象。与dbm数据库的区别在于,架子中的值(而不是键!)可以是基本上任意的Python对象 - “pickle”模块可以处理的任何内容
import shelve
d = shelve.open(filename) # open, with (g)dbm filename -- no suffix
d[key] = data # store data at key (overwrites old data if
# using an existing key)
data = d[key] # retrieve a COPY of the data at key (raise
# KeyError if no such key) -- NOTE that this
# access returns a *copy* of the entry!
del d[key] # delete data stored at key (raises KeyError
# if no such key)
flag = d.has_key(key) # true if the key exists; same as "key in d"
list = d.keys() # a list of all existing keys (slow!)
d.close()
答案 3 :(得分:0)
如果方案是固定的,sqldb最好选择,比如sqlite3,加上memcached作为缓存。 如果关系经常变化,我认为灵活的数据可能存储在文件中(哈希索引)。