模块的形象:python
内置模块:安装Python解释器的时候一块儿安装上的mysql
第三方模块(扩展模块):须要本身安装linux
自定义模块:本身写的py文件sql
序列的对象:列表,元组,字符串,bytesjson
网络
spa
code
对象
blog
import json stu = {'name':'何青松','sex':'male'} ret = json.dumps(stu,ensure_ascii=False) #序列化的过程
#ensure_ascii=False 但愿序列化的中文能以中文的形式被现实而且写到文件中
print(ret,type(ret)) #{"name": "何青松", "sex": "male"} <class 'str'> print(stu,type(stu)) #{'name': '何青松', 'sex': 'male'} <class 'dict'> l1 = json.loads(ret) #反序列过程 print(l1,type(l1)) #{'name': '何青松', 'sex': 'male'} <class 'dict'>
与json方法相同,只是转化类型不一样
dump与load 操做文件的时候必须以+b打开
在load的时间,若是这个要被load的内容再也不内存中,程序会报错的
pickle支持屡次dump和屡次load (load的时候须要进行异常处理)
import pickle class Course: def __init__(self,name,price): self.name = name self.price = price python = Course('python',29800) linux = Course('linux',25800) mysql = Course('mysql',18000) def my_dump(course): with open('pickle','ab') as f: pickle.dump(course,f) my_dump(python) my_dump(linux) my_dump(mysql) with open('pickle','rb') as f: while True: try: content = pickle.load(f) print(content.name) except EOFError: break