模塊的形象: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