2011年11月28日 星期一

Python shelve and Pickle module

Pickle 可將python data type轉為bytes streams(使用dumps()),亦可從重新組回原data types(使用loads()),例如


>>> import pickle
>>> x = {'name':'glob', 'info':(27, 'single', 'student')}
>>> xp = pickle.dumps(x)
>>> y = pickle.loads(xp)
>>> y
{'info': (27, 'single', 'student'), 'name': 'glob'}



*亦可以用 dump(x, f)   f為file descriptor 寫入file中。

shelve 則是使用anydbm(一種DBM)來進行pickles的操作,算是結合db+pickles。


>>> import shelve
>>> sh = shelve.open('shelve.db')
>>> sh['myinfo'] = {'name':'glob', 'info':(27, 'single', 'student')}
>>> sh.close()

沒有留言:

張貼留言