美文网首页
Python 序列化操作

Python 序列化操作

作者: 陈忠俊 | 来源:发表于2019-09-28 15:11 被阅读0次

1. json 操作写字典到文件

>>> import json
>>> import os
>>> info = {"name": "eclipse", "age": 22, "sex": "M"}
>>> f = open("./tmp.txt", "w")
>>> json.dump(info, f)
>>> f.close()
>>> os.system("cat ./tmp.txt")
{"name": "eclipse", "age": 22, "sex": "M"}0
>>>

从文件中读出字典

>>> f = open("./tmp.txt", "r")
>>> handler = json.load(f)
>>> handler
{'name': 'eclipse', 'age': 22, 'sex': 'M'}
>>>

当然我们也可以把字典直接转成字符串

>>> info_str = json.dumps(info)
>>> type(info_str)
<class 'str'>
>>> info_str
'{"name": "eclipse", "age": 22, "sex": "M"}'
>>>

再转成字典类型

>>> info_dic = json.loads(info_str)
>>> info_dic
{'name': 'eclipse', 'age': 22, 'sex': 'M'}
>>> type(info_dic)
<class 'dict'>

格式化输出:

>>> json_dics2 = json.dumps(info_dic, sort_keys = True, indent = 4, separators = (',',':'))
>>> print(json_dics2)
{
    "age":22,
    "name":"eclipse",
    "sex":"M"
}
>>>

2. pickle 操作,通过二进制读写的方式操作一个类的写入,这很方便的操作一个对象。这里读临时文件的时候没有指定一个句柄,没法正常关闭文件。

>>> class Test:
...     def __init__(self, name, age):
...         self.name = name
...         self.age  = age
...
>>> f = open('./tmp.txt', 'wb')
>>> f.write(pickle.dumps(Test('eclipse', 22)))
67
>>> f.close()
>>> handler = pickle.loads(open('./tmp.txt', 'rb').read())
>>> handler.name
'eclipse'
>>> handler.age
22
>>> handler
<__main__.Test object at 0x000002436D8960B8>
>>>

相关文章

  • python JSON

    一、Python 操作JSON 1.python 2.6加入了json模块。2.python的json模块 序列化...

  • python学习笔记--pickle模块

    Python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行...

  • python Redis操作

    rpush和lpop为List的操作,sadd为set的操作 此处我们将python字典item序列化之后存进redis

  • json文件

    python操作json json是一种轻量级的数据交换格式,python标准库中有json模块,主要是执行序列化...

  • Python 序列化操作

    1. json 操作写字典到文件 从文件中读出字典 当然我们也可以把字典直接转成字符串 再转成字典类型 格式化输出...

  • 使用json模块

    json模块是python内置的用于序列化的模块。 序列化和反序列化 序列化就是将python类型的数据结构转换为...

  • Python 入门之 内置模块 -- 序列化模块(json模块、

    Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块) 1、序列化 Python中这种...

  • Python常用模块pickle——对象序列化

    作用 对Python对象进行序列化,便于存储和传输 Python对象序列化成bytes类型 pickle.dump...

  • DRF之序列化

    序列化 把Python中对象转换为json格式字符串 反序列化 把json格式转为为Python对象。 序列化两大...

  • 序列化和反序列细节处理

    python 中pickle 和 json 都是序列化和反序列化的模块。 关于序列化和反序列化 序列化和反序列化[...

网友评论

      本文标题:Python 序列化操作

      本文链接:https://www.haomeiwen.com/subject/amfgectx.html