Python 序列化和反序列化
序列化:将Python对象 保存在 变量中或者文件中,延长对象的生命周期,需要的时候再读取出来。
dumps 和 dump 都是序列化
loads 和 load 表示反序列化
有pickle 和json 模块可以使用。
dumps 和loads 操作的是变量,dumps将字典类型转化为字符串了,loads则是将字符串加载成字典,这样便于传输。
后面的 ‘s’ 是字符串的意思,并不是复数的含义。
dump 和 load 操作的是文件。
python 操作shell 的常用功能的区别:
https://blog.csdn.net/baidu_36943075/article/details/105681683
python 操作json结果,最好是使用 os.popen(),因为这样可以获取结果保存为 一个 python 对象,再转化成字典后能更灵活的取出json里的值。
示例如下:
#! /usr/bin/python
import json
import os
import subprocess
cmd = 'cat /data/vscode-pro/daemon.json'
#这行也可以获取命令执行结果
# res = subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True).stdout
res = os.popen(cmd)
#使用read()方法取出内容
# c1 = res.read()
# print(type(c1),c1)
#使用json.load() 直接将对象转化成字典
# c2 = json.load(res)
# print(type(c2),c2)
#使用json.loads() 将字符串转化成字典
c3 = json.loads(res.read())
print(type(c3),c3,type(res))
print(c3['data-root'])
三种方法的任意一种都可以获取json类型的结果