对象存储/编码/解码
生活随笔
收集整理的這篇文章主要介紹了
对象存储/编码/解码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
存儲:永久性保存對象
有時候,我們需要將某些字符串、列表、字典、元組等數據?久保存,現在,這個時候,就需要使?
永久性存儲的模塊?件pickle。pickle模塊可以將對象轉換為?種可以存儲或讀取的格式。
pickle:該模塊實現了數據的序列化與反序列化,通過pickle的序列化操作,可以實現將程序中的對象
保存到?件信息中,實現永久性存儲。通過pickle的反序列化操作,可以實現將程序中的永久性存儲的對象解析出來
在使用文件讀取完后一定要把文件關閉了,如:f1.close()
# 存儲list #導入 pickle import pickle list1=[12,2,3] f1=open('list.txt','wb') # 將列表存入到文件中 # 語法格式: # pickle.dump(存儲的數據,目標文件) pickle.dump(list1,f1) f1.close() # 建議:存儲數據時,盡量不要使用系統能夠打開的后綴名, # 優點:防止用戶隨意打開,更改數據 # 從文件中讀取列表 # 語法格式: # pickle.load(存儲的數據,目標文件) f2=open("list.txt","rb") list2=pickle.load(f2) print(list2)
有時候,我們需要將某些字符串、列表、字典、元組等數據?久保存,現在,這個時候,就需要使?
永久性存儲的模塊?件pickle。pickle模塊可以將對象轉換為?種可以存儲或讀取的格式。
pickle:該模塊實現了數據的序列化與反序列化,通過pickle的序列化操作,可以實現將程序中的對象
保存到?件信息中,實現永久性存儲。通過pickle的反序列化操作,可以實現將程序中的永久性存儲的對象解析出來
在使用文件讀取完后一定要把文件關閉了,如:f1.close()
# 存儲list #導入 pickle import pickle list1=[12,2,3] f1=open('list.txt','wb') # 將列表存入到文件中 # 語法格式: # pickle.dump(存儲的數據,目標文件) pickle.dump(list1,f1) f1.close() # 建議:存儲數據時,盡量不要使用系統能夠打開的后綴名, # 優點:防止用戶隨意打開,更改數據 # 從文件中讀取列表 # 語法格式: # pickle.load(存儲的數據,目標文件) f2=open("list.txt","rb") list2=pickle.load(f2) print(list2)
簡寫模式
好處:可以省略關閉文件這個操作,減少代碼
#從文件中讀取對象 with open("list.txt","rb") as f1:pickle.load(f1) #將對象寫如文件中 with open("list.txt","wb") as f2:pickle.dump(list1,f2)?
編碼/解碼
編碼:文件.encode(編碼格式)
解碼:文件.decode(編碼格式)
常見編碼格式
GB2312 是中國規定的漢字編碼,也可以說是簡體中文的字符集編碼
GBK? ? ? 是 GB2312的擴展 ,除了兼容GB2312外,它還能顯示繁體中文,還有日文的假名
cp936 ? 中文本地系統是Windows中的cmd,默認codepage是CP936,cp936就是指系統里第936號編碼格式,即GB2312的編碼。
?(當然有其它編碼格式:cp950 繁體中文、cp932 日語、cp1250 中歐語言。。。)
Unicode?是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。UTF-8、UTF-16、UTF-32都是將數字轉換到程序數據的編碼方案。
UTF-8?(8-bit Unicode Transformation Format)是最流行的一種對 Unicode 進行傳播和存儲的編碼方式。它用不同的 bytes 來表示每一個代碼點。
ASCII 字符每個只需要用一個 byte ,與 ASCII 的編碼是一樣的。所以說 ASCII 是 UTF-8 的一個子集。
#編碼 with open("file2.txt","wb") as f1:str1="123132djijdi外交誒"enstr=str1.encode("utf-8")print(enstr)f1.write(enstr) #解碼 with open("file2.txt","rb") as f2:str2=f2.read()destr=str2.decode("utf-8")print(destr)?
轉載于:https://www.cnblogs.com/dyd520/p/11252565.html
總結
以上是生活随笔為你收集整理的对象存储/编码/解码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIS6.0打开ASP文件,出现500错
- 下一篇: MATLAB中设置figure的边框