我正在寻找一个Python中的平面文件,便携式键值存储.我将使用字符串作为键和字符串或值列表.我看了ZODB,但我想要一些更广泛使用并且更积极开发的东西.Python中的任何dmb模块是否需要系统库或数据库服务器(如mysql或类似服务器),还是可以用任何文件写入文件?
如果dbm不支持python列表,我想我可以序列化它?
你可能想要考虑h5py这是HDF5的Python接口.
In [1]: import h5py
In [2]: f = h5py.File('test.hdf5', 'w')
In [3]: f['abc'] = [1, 2, 3]
In [4]: f['d'] = 'hello'
In [5]: f.close()
In [6]: f2 = h5py.File('test.hdf5', 'r')
In [7]: f2['abc'].value
Out[7]: array([1, 2, 3])
In [8]: list(f2['abc'])
Out[8]: [1, 2, 3]
In [10]: f2['d'].value
Out[10]: 'hello'
Run Code Online (Sandbox Code Playgroud)
有对sqlite的默认支持,并且包含在标准库中,但为了简单起见,您可以使用shelve
http://docs.python.org/library/shelve.html
编辑:我还没有测试过这个,买dbm可能是你的解决方案.它是自1979年以来UNIX上的键值数据库.
http://docs.python.org/library/anydbm.html#module-anydbm,如果您需要序列化,可以使用pickle.