zoukankan      html  css  js  c++  java
  • python 序列化和反序列化(pickle和json)

    pickle能序列化常规数据类型(元组、列表、字典、集合等),也可以序列化非常规类型(类、函数等),基本上是所以得数据类型,只能python程序使用。

    Python file类型在Python是一个特殊的类型。

    json 只能序列化常规类型,任何语言都可以。

    ###pickle

    import pickle

    myList = ['hello', 1, 2, 3, 'ok', 'sb']
    mydump = pickle.dumps(myList)
    print mydump
    print type(mydump)
    rs = pickle.loads(mydump)
    print rs
    print type(rs)
    pickle.dump(myList, file('F:/python/test.txt', 'w')) //会自动关闭打开的文件
    rs = pickle.load(file('F:/python/test.txt', 'r'))
    print rs



    输出:

      (lp0
      S'hello'
      p1
      aI1
      aI2
      aI3
      aS'ok'
      p2
      aS'sb'
      p3
      a.
      <type 'str'>
      ['hello', 1, 2, 3, 'ok', 'sb']
      <type 'list'>
      ['hello', 1, 2, 3, 'ok', 'sb']


    ###json

    import json

    myList = ['hello', 1, 2, 3, 'ok', 'sb']
    mydump = json.dumps(myList)
    print mydump
    print type(mydump)
    rs = json.loads(mydump)
    print rs
    print type(rs)
    json.dump(myList, file('F:/python/test.txt', 'w'))
    rs = json.load(file('F:/python/test.txt', 'r'))
    print rs


    输出:  

      ["hello", 1, 2, 3, "ok", "sb"]
      <type 'str'>
      [u'hello', 1, 2, 3, u'ok', u'sb']
      <type 'list'>
      [u'hello', 1, 2, 3, u'ok', u'sb']

     
  • 相关阅读:
    图论-最短路
    windows对拍及其应用
    RMQ与st表
    树状数组
    二分和三分题
    [转载]图论500题
    浏览器请求背后的网络数据传输过程
    百度ocr文字识别接口使用
    Mysql启动报错解决方案:Failed to open log (file './mysql-bin.000901', errno 2)
    Mac环境下nginx https配置
  • 原文地址:https://www.cnblogs.com/3one/p/5532804.html
Copyright © 2011-2022 走看看