【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更快

浙公网安备 33010602011771号