二、字串
1、概述
pickle模組為python物件結構的序列化和反序列化實現了乙個基本但強大的演算法。 「pickling」是將python物件層次結構轉換為位元組流的過程,「unpickling」是相反的操作,即位元組流轉換回物件層次結構。2、常用方法
(1)序列化為字串
pickle.dumps(obj) 將物件序列化為字串
pickle.loads(str) 將字串反序列化為物件
import pickle
p =# 物件序列化為字串
str_p = pickle.dumps(p)
print
(str_p)
# 字串反序列化為物件
p_tmp = pickle.loads(str_p)
print
(p_tmp)
(2)序列化到檔案
pickle.dump(obj, file) 將物件序列化到檔案
pickle.load(file) 將檔案反序列化為物件
import pickle
p =# 物件序列化到檔案
pickle.dump(p,
open
("a.txt"
,"wb"))
# 檔案反序列化為物件
p_tmp = pickle.load(
open
("a.txt"
,"rb"))
print
(p_tmp)
1、概述
shelve模組是乙個簡單的k,v將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可支援的python資料格式2、常用方法
(1)建立shelve檔案
db = shelve.open('path')
(2)序列化到檔案
db['key'] = obj
(3)序列化的物件數量
len(db)
(4)刪除序列化內容
del db['key']
pickle乙個檔案只能很方便的序列乙個物件,如果需要乙個檔案序列化多個物件的話使用shelve模組,因為shelve模組是k, v型的,可以更方便乙個檔案儲存多個物件str 字串
bytes 位元組
bytearray 位元組陣列 名稱
概述字符集
又稱為編碼字符集,
是乙個包含字元表中每乙個字元和對應的整數對映關係的集合。
碼位值乙個字元在某個字符集中的對映的值,一般是乙個整數。
字元編碼
是把乙個碼位值轉換為用於儲存和傳輸的2進製序列的方式。
編碼轉換字元為位元組形式
解碼位元組形式轉換為字元
1、ascii
儲存在乙個byte2、latin-10~127
儲存在乙個byte3、utf-8128~255
可變位元組4、utf-160~127:使用單位元組
128~2047:雙位元組儲存
大於 2047:3~4byte
2byte儲存字元(另加2byte作為標識)5、utf-32(4byte)
1、ord():獲取字元碼值
print
(ord
('a'))
# 97
2、chr():獲取碼值對應的字元
print
(chr(97
))# a
3、str.encode(『編碼』):將特定字串編碼
s =
"abc"
print
(s.encode(
"utf8"
))
4、bytes.decode(『編碼』):將字元編碼解碼為字元文字
s =
"abc"
b = s.encode(
"utf8"
)print
(b)print
(b.decode(
"utf8"
))
1、轉化為bytes
方法1: 手動宣告 b""
方法2: 字串編碼 str.encode()
方法2: 建構函式 bytes()
2、轉換為bytearray
建構函式: bytearray('字串','字元編碼')
3、轉換為字串
bytes.decode('字元編碼')
bytearray.decode('字元編碼')
1、簡介
位元組順序標記(英語:byte-order mark,bom)是乙個有特殊含義的統一碼字元,碼點為u+feff。當以utf-16或utf-32來將ucs/統一碼字元所組成的字串編碼時,這個字元被用來標示其位元組序。經常被用於區分是否為utf編碼。2、使用(新增或不顯示標記)
open('檔名','開啟方式',encoding="字元編碼-sig")
with
open
("a.txt"
,"w"
, encoding=
"utf-8-sig"
)as f:
f.write(
"hello world"
)with
open
("a.txt"
,"r"
, encoding=
"utf-8-sig"
)as f:
print
(f.read(
))
Python學習筆記(八)
對應第十章 如果檔案內容不是逐行輸出則會輸出列表形式。try with open d pycharmprograms pi.txt as f contents f.readlines except filenotfounderror print filenotfounderror else prin...
Python學習筆記(八)異常
8異常 8.1什麼是異常 python用異常物件來表示異常情況。每乙個異常都是一些類的例項,這些例項可以被印發,並且可以用很多種方法進行捕捉並且對其進行處理,而不是讓整個程式失敗。8.2按自己的方式出錯 8.2.1raise語句 為了引發異常,可以使用乙個類 可以是exception的子類 或者例項...
Python學習筆記(八)異常
life is short,you need python bruce eckel environment 程式執行過程中可能碰到各種各樣的異常,如果未預設處理方式,程式將中斷執行。這裡記錄一些 python 中異常處理的內容。python 所有內建異常類參考python官方文件的內容,中文內容總結...