【python】【内置模块】【三】【json pickle】

6 json

变量/函数 含义 样例
dump() 将python对象转换成JSON字符串写入文件
>>> import json
>>> import os

>>> wr_fd = os.open('test.txt', os.O_WRONLY|os.O_CREAT)
>>> wr_file = os.fdopen(wr_fd, 'w')
>>> lst = [1,2,3]
>>> json.dump(lst, wr_file)
>>> wr_file.close()
>>> rd_fd = os.open('test.txt', os.O_RDONLY)
>>> fd_file = os.fdopen(rd_fd, 'r')
>>> lst2 = json.load(fd_file)
>>> fd_file.close()
>>> print lst2
[1, 2, 3]
dumps() 将python对象转换成JSON字符串
>>> lst = [1,2,3]
>>> json.dumps(lst)
'[1, 2, 3]'
load() 从文件中读取数据转换成python对象
>>> import json
>>> import os

>>> wr_fd = os.open('test.txt', os.O_WRONLY|os.O_CREAT)
>>> wr_file = os.fdopen(wr_fd, 'w')
>>> lst = [1,2,3]
>>> json.dump(lst, wr_file)
>>> wr_file.close()
>>> rd_fd = os.open('test.txt', os.O_RDONLY)
>>> fd_file = os.fdopen(rd_fd, 'r')
>>> lst2 = json.load(fd_file)
>>> fd_file.close()
>>> print lst2
[1, 2, 3]
loads() 将JSON字符串转换成python对象
>>> lst = [1,2,3]
>>> lst_str = json.dumps(lst)
>>> json.loads(lst_str)
[1, 2, 3]
JSONDecoder() 将已编码的JSON 字符串解码为python 对象
>>> lst = [1,2,3]
>>> lst_en = json.JSONEncoder().encode(lst)
>>> lst_en
'[1, 2, 3]'
>>> json.JSONDecoder().decode(lst_en)
[1, 2, 3]
JSONEncoder() 将python对象编码成JSON 字符串
>>> lst = [1,2,3]
>>> lst_en = json.JSONEncoder().encode(lst)
>>> lst_en
'[1, 2, 3]'
>>> json.JSONDecoder().decode(lst_en)
[1, 2, 3]

 

7. pickle

变量/函数 含义 样例
dump() 将python对象转换成pickle字符串写入文件
>>> import json
>>> import os

>>> wr_fd = os.open('test.txt', os.O_WRONLY|os.O_CREAT)
>>> wr_file = os.fdopen(wr_fd, 'w')
>>> lst = [1,2,3]
>>> pickler.dump(lst, wr_file)
>>> wr_file.close()
>>> rd_fd = os.open('test.txt', os.O_RDONLY)
>>> fd_file = os.fdopen(rd_fd, 'r')
>>> lst2 = pickler.load(fd_file)
>>> fd_file.close()
>>> print lst2
[1, 2, 3]
dumps() 将python对象转换成pickle字符串
>>> lst = [1,2,3]
>>> pickle.dumps(lst)
'(lp0\nI1\naI2\naI3\na.'
load() 从文件中读取数据转换成python对象
>>> import json
>>> import os

>>> wr_fd = os.open('test.txt', os.O_WRONLY|os.O_CREAT)
>>> wr_file = os.fdopen(wr_fd, 'w')
>>> lst = [1,2,3]
>>> pickler.dump(lst, wr_file)
>>> wr_file.close()
>>> rd_fd = os.open('test.txt', os.O_RDONLY)
>>> fd_file = os.fdopen(rd_fd, 'r')
>>> lst2 = pickler.load(fd_file)
>>> fd_file.close()
>>> print lst2
[1, 2, 3]
loads() 将pickle字符串转换成python对象
>>> lst = [1,2,3]
>>> lst_str = pickle.dumps(lst)
>>> pickle.loads(lst_str)
[1, 2, 3]

  

json和pickle对比:

1. json比pickle可读写更好

2. pickle比json更快 

posted @ 2018-03-08 13:39  aclove  阅读(102)  评论(0)    收藏  举报