美文网首页
Python基础总结11(json、异常)

Python基础总结11(json、异常)

作者: zxhlcl | 来源:发表于2018-10-15 17:02 被阅读0次

    一、Json文件

    1、什么是json数据
    json是一种特定格式的数据,主要用来在互联网上做文本数据传输
    json数据是文本数据,json文件是后缀是.json的文件,文件内容的格式必须满足json格式
    json格式:
    A.一个json对应一条数据
    B.json中的数据必须是json对应的数据类型
      数字类型(number)--所有数字,包括小数和整数
      字符串类型(string)--只能用双引号括起来
      数组(array)--相当于python中的列表
       字典(dictionary)--相当于python中的字典
       布尔(bool)--True 和 False
       空(null)--相当于python中的None
    2、python对json的支持(内置模块)
    (1)load(文件对象)--将json文件的内容读出来,并将json的内容转换成python对应的数据类型,要求文件对象必须是json格式
    (2)dump(内容,文件对象)--将指定的内容以json的格式写入到json文件中
    (3)loads(json格式字符串)--将字符串内容是json数据的字符串转换成Python对应的数据类型
    (4)dumps(内容)--将指定的内容转换成json格式的字符串,
    注意:集合不能转换成json数据格式

    #loads的使用:
    ts1=json.loads('100')
    print(type(ts1),ts1)
    ts2=json.loads('"abc"')
    print(type(ts2),ts2)
    ts3=json.loads('[1,2,3]')
    print(type(ts3),ts3)
    ts4=json.loads('{"name":"Bob","age":22,"state":true}')
    print(type(ts4),ts4)
    
    #dumps的使用 (返回的都是json格式的字符串)
    ts1=json.dumps(100)
    print(type(ts1),ts1)
    ts2=json.dumps({'name':'bob',"age":22,"state":True})
    print(type(ts2),ts2)
    ts3=json.dumps((1,2,3))
    print(type(ts3),ts3)
    
    #dump的使用
    new_dict={'bigberg': [7600, {'1': [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
    with open('./file/record.json',"w") as f:
        json.dump(new_dict,f)
        print("加载入文件完成...")
    
    #load的使用
    with open("./file/record.json",'r') as load_f:
        load_dict = json.load(load_f)
        print(load_dict)
    load_dict['smallberg'] = [8200,{1:[['Python',81],['shirt',300]]}]
    print(load_dict)
    

    二、异常

    所有异常类型都是继承的Exception
    1、报错-->出现异常(后面的代码不会执行,并且程序会直接结束)
    2、抛出异常:raise 异常类型
    3、捕获异常-->出现异常,不希望程序直接崩溃,而是想要自己对这个异常进行处理,就需要捕获异常
    格式1:(可以捕获代码块1中所有类型的异常)
    try:
    代码块1:需要捕获异常的代码
    except:
    代码块2:出现异常后会执行的代码
    说明:执行代码块1,并检查代码块1是否发生异常,若发生异常程序不崩溃并直接执行代码块2

    格式2:
    try:
    代码块1
    except 异常类型:
    代码块2
    说明:捕获代码块1中出现的指定类型异常

    格式3:
    try:
    代码块1
    except (异常类型1,异常类型2,异常类型n):
    代码块2
    说明:捕获代码块1中出现的指定类型异常

    格式4:
    try:
    代码块1
    except 异常类型1:
    代码块2
    except 异常类型2:
    代码块3
    ...
    说明:捕获代码块1中出现的指定类型异常
    关键字:finally -->不管什么情况,finally里面的代码块都被执行

    #格式1
    try:
        a=[1,2,3][4]
        print('=====')  #不会被执行
    except:
        print("出现异常")
    
    
    #格式2
    try:
        print([1,2][3])
    except IndexError:
        print('出现IndexError异常')
    
    #格式3
    try:
        print({'a':123}["b"])
        print([1,2][3])
    except (IndexError,KeyError):
        print('出现异常···')
    
    #格式4
    try:
        print({'a':123}["b"])
        print([1,2][3])
    except IndexError:
        print('出现IndexError异常')
    except KeyError:
        print('出现KeyError异常')
    
    #finally关键字
    try:
        f=open('./file/aaa.txt')
    except FileNotFoundError:
        print("文件不存在")
    finally:
        print("执行捕获异常后的操作")
    

    相关文章

      网友评论

          本文标题:Python基础总结11(json、异常)

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