1. 程式人生 > >python-22 eval json pickle shelve 之間差別

python-22 eval json pickle shelve 之間差別

1.eval:可以轉化字串,字典,元組,列表等一般型別,不能轉化類,函式

2.json:可以轉化一般型別外,還可轉化函式,可以在任何語言間轉化,轉化為字串,可以寫入文字,故這個較常用。         json.dumps() 後,人工可讀。只要符合json規範,就可以直接dumps(),如文字中{"k":"v"}

3.pickle:可以轉化一切,包括類,函式,但只能在python間轉化,轉化為位元組,且pickle.dumps()之後的字元,人工不可讀。

 

4.shelve:支援有限的資料型別,不能跨語言