zoukankan      html  css  js  c++  java
  • json



    #json序列化,只能处理简单的数据类型,如:字典、列表、字符串,类和函数等数据类型过于复杂,不支持序列化
    import json

    def sayhi(name):
    print('hello,', name)

    info = {
    'name': 'whitesky',
    'age': 25,
    'func': sayhi
    }

    f = open('test.txt', 'w')
    # f.write(str(info))
    f.write(json.dumps(info))
    f.close()

    #json反序列化

    f = open('test.txt', 'r')
    data = json.loads(f.read())
    print(data['func'])


    #处理复杂数据类型(函数等)的方法:pickle(只支持python,不支持Java(支持json))
    import pickle

    def sayhi(name):
    print('hello,', name)
    info = {
    'name': 'whitesky',
    'age': 25,
    'func': sayhi
    }

    f = open('test.txt', 'wb') #pickle序列化要带b
    f.write(pickle.dumps(info)) #相当于 pickle._dump(info,f)



    #pickle反序列化

    f = open('test.txt', 'rb')
    data = pickle.loads(f.read()) # 相当于 pickle.load(f)

    print(data['func'])



    f.close()


    #注意:写程序序列化时要记住只dump一次,只load一次(py3中dump多次,再load时会出错,py2中正常),如果需要存储多个状态,就dump成多个文件
  • 相关阅读:
    把本地的jar包安装到maven库中
    mybatis 查询
    freemarker
    python——线程相关
    【python-sql】sql操作时遇到的坑
    专项测试——移动app安装包检测
    【Android端 adb相关】adb相关总结
    for 语句
    Python2.x与3​​.x版本区别
    Python 运算符
  • 原文地址:https://www.cnblogs.com/yum777/p/6259910.html
Copyright © 2011-2022 走看看