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']

     
  • 相关阅读:
    对double数据类型的数据保留两位小数,并且进行四舍五入
    div位置设置
    每天一算法 -- (排序算法总结)
    SQL行转列
    设计模式的六大原则
    每天一算法 -- (插入排序)
    每天一算法 -- (选择排序)
    通用扩展函数--类型转换
    wcf和webservice
    Cookie的介绍及使用
  • 原文地址:https://www.cnblogs.com/3one/p/5532804.html
Copyright © 2011-2022 走看看