• 2019年5月6日 json 模块 vip &pickle


    json.loads 能将不同语言转换成python对象 类似于eval 但是比其更强大。

    pickle     python语言转换成python语言

    • json.dumps(): 对数据进行编码。
    • json.loads(): 对数据进行解码。

    如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:

    # 写入 JSON 数据
    with open('data.json', 'w') as f:
        json.dump(data, f)
     
    # 读取数据
    with open('data.json', 'r') as f:
        data = json.load(f)
    # dic="{'name':'sxj','age':'18'}"
    # f=open('test2.txt','w')
    # f.write(dic)  #如果与下面语句一起执行,则会将光标移动到内容最后一行
    # f.close()
    f_read=open('test2.txt','r')
    data=f_read.read()
    print(data)
    print(type(data))
    data=eval(data) #方法1:eval方法,但是无法传送函数,类
    
    
    import json
    dic={"name":"abc","age":11} #字符串只用双引号,如果有单引号也会转变成双引号
    g=open('test.txt','w')
    data2=json.dumps(dic) #方法2转换成json字符串,其他语言都认识,整形,列表,字典,数组等都会转变成json 字符串
    g.write(data2)  #该行与上面的data2行,相当于 json.dump(dic,f)
    g.close()
    
    print(data2)
    print(type(data2))#字符串类型
    #
    g=open('test.txt','r')
    data4=json.loads(g.read()) #相当于data4 = json.load(g)
    print(data4)
    print(type(data4))#返回字典类型
    print(data4['name'])

    >>

    {'name':'sxj','age':'18'}
    <class 'str'>
    {"name": "abc", "age": 11}
    <class 'str'>
    {'name': 'abc', 'age': 11}
    <class 'dict'>
    abc

  • 相关阅读:
    组合模式
    备忘录模式
    适配器模式
    状态模式
    观察者模式
    建造者模式
    地图染色-四色定理
    c++传递函数当作对象传递
    位向量实现集合—王晓东数据结构
    动态规划之最大连续子序列
  • 原文地址:https://www.cnblogs.com/python1988/p/10834865.html
Copyright © 2020-2023  润新知