python:JSON和with语句

ernestwang 1 0

JSON

  • 说明:SON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。
  • 示例:
    import json
    
    d = {'name': 'dahua', 'age': 18}
    
    # fp = open('data.json', 'w')
    
    # 将字典转换为JSON字符串
    # s = json.dumps(d)
    # fp.write(s)
    # 等价于上面两步
    # json.dump(d, fp)
    # print(s, type(s))
    
    fp = open('data.json', 'r')
    
    # s = fp.read()
    # 将JSON字符串转换为字典
    # d2 = json.loads(s)
    # 等价于上面两步
    d2 = json.load(fp)
    print(d2, type(d2))
    fp.close()

with语句

  • 说明:特定场景指某个操作的环境,即上下文,如:文件操作上下文,一定是在文件打开关闭之间进行操作。
  • with:针对有上下文的情况,可以简化结束上下文的书写操作
  • 示例:
    # fp = open('xxx.yyy')
    
    # 在文件上下文中进行文件操作
    # fp.read()
    # fp.write()
    
    # 最后一定要保证文件关闭,无论有没有异常
    # fp.close()
    
    # with open('xxx.yyy') as fp:
    #     pass
        # 文件读写操作
        # 不用关心文件的关闭操作,语句结束后会自动进行
    
    # print('OVER')
    
    class Person:
        def __init__(self):
            print('__init__')
    
        # 进入上下文
        def __enter__(self):
            print('__enter__')
    
        # 退出上下文
        def __exit__(self, exc_type, exc_val, exc_tb):
            print('__exit__')
            print('异常类型:', exc_type)
            print('异常信息:', exc_val)
            print('异常追溯:', exc_tb)  
    
    with Person() as p:
        print('上下文中执行操作')
        raise Exception('出现异常')
    
    print('OVER')

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~