成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python中pickle模塊的使用方法-創(chuàng)新互聯

Python中 pickle模塊的使用方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

目前創(chuàng)新互聯公司已為成百上千家的企業(yè)提供了網站建設、域名、虛擬空間、網站托管維護、企業(yè)網站設計、武陵源網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發(fā)展。

用于序列化的兩個模塊

  •   json:用于字符串和Python數據類型間進行轉換
  •   pickle: 用于python特有的類型和python的數據類型間進行轉換
  •   json提供四個功能:dumps,dump,loads,load
  •   pickle提供四個功能:dumps,dump,loads,load

pickle可以存儲什么類型的數據呢?

  • 所有python支持的原生類型:布爾值,整數,浮點數,復數,字符串,字節(jié),None。
  • 由任何原生類型組成的列表,元組,字典和集合。
  • 函數,類,類的實例
     

pickle模塊中常用的方法有:

1. pickle.dump(obj, file, protocol=None,)

必填參數obj表示將要封裝的對象

必填參數file表示obj要寫入的文件對象,file必須以二進制可寫模式打開,即“wb”

可選參數protocol表示告知pickler使用的協議,支持的協議有0,1,2,3,默認的協議是添加在Python 3中的協議3?!  ?/p>

  • Protocol version 0 is the original “human-readable” protocol and is backwards compatible with earlier versions of Python.
  • Protocol version 1 is an old binary format which is also compatible with earlier versions of Python.
  • Protocol version 2 was introduced in Python 2.3. It provides much more efficient pickling of new-style classes. Refer to PEP 307 for information about improvements brought by protocol 2.
  • Protocol version 3 was added in Python 3.0. It has explicit support for bytes objects and cannot be unpickled by Python 2.x. This is the default protocol, and the recommended protocol when compatibility with other Python 3 versions is required.
  • Protocol version 4 was added in Python 3.4. It adds support for very large objects, pickling more kinds of objects, and some data format optimizations. Refer to PEP 3154 for information about improvements brought by protocol 4.

2. pickle.load(file,*,fix_imports=True, encoding="ASCII", errors="strict")

必填參數file必須以二進制可讀模式打開,即“rb”,其他都為可選參數

3. pickle.dumps(obj):以字節(jié)對象形式返回封裝的對象,不需要寫入文件中

4. pickle.loads(bytes_object): 從字節(jié)對象中讀取被封裝的對象,并返回

pickle模塊可能出現三種異常:

1. PickleError:封裝和拆封時出現的異常類,繼承自Exception

2. PicklingError: 遇到不可封裝的對象時出現的異常,繼承自PickleError

3. UnPicklingError: 拆封對象過程中出現的異常,繼承自PickleError

應用:

# dumps功能
import pickle
data = ['aa', 'bb', 'cc']
# dumps 將數據通過特殊的形式轉換為只有python語言認識的字符串
p_str = pickle.dumps(data)
print(p_str)      7 b'\x80\x03]q\x00(X\x02\x00\x00\x00aaq\x01X\x02\x00\x00\x00bbq\x02X\x02\x00\x00\x00ccq\x03e.

新聞標題:Python中pickle模塊的使用方法-創(chuàng)新互聯
當前路徑:http://jinyejixie.com/article30/csdiso.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站制作、App設計、企業(yè)網站制作、網站設計、微信小程序、ChatGPT

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

營銷型網站建設
凌海市| 新蔡县| 柯坪县| 惠来县| 黎城县| 梁山县| 内黄县| 合水县| 威远县| 罗甸县| 康定县| 吉首市| 鄱阳县| 桦南县| 江西省| 大连市| 平利县| 越西县| 永城市| 台北县| 南澳县| 禄劝| 沾益县| 南充市| 新巴尔虎右旗| 开远市| 枣强县| 柘荣县| 枝江市| 大同县| 兰西县| 虎林市| 华安县| 高安市| 麻城市| 九龙坡区| 四子王旗| 大洼县| 同德县| 德格县| 淅川县|