zoukankan      html  css  js  c++  java
  • 序列化模块和导入模块

    # 序列化 —— 转向一个字符串数据类型
    # 序列 —— 字符串
    # json   数字 字符串 列表 字典 元组
    # pickle
    # 所有的python中的数据类型都可以转化成字符串形式
    # pickle序列化的内容只有python能理解
    # 且部分反序列化依赖python代码
    # shelve
    # 序列化句柄
    # 使用句柄直接操作,非常方便
    
    import json
    dicts = {'name':'huang', 'age': 16, 1: 'a', 2: 2}
    d = json.dumps(dicts)
    print(type(d),d)
    d_json_loads = json.loads(d)          # 反序列化
    print(type(d_json_loads), d_json_loads)
    
    # d = {'name': 'huang', 'age': 6}
    # with open('test.txt','w') as f:
    #     json.dump(d, f)
    #
    # with open('test.txt') as f:
    #     result = json.load(f)
    # print(result,type(result))
    
    # import pickle
    # dic = {'k1':'v1','k2':'v2','k3':'v3'}
    # result = pickle.dumps(dic)
    # print(result)       # 一串二进制内容
    #
    # dic = pickle.loads(result)
    # print(dic)
    
    # import shelve
    # f1 = shelve.open('test.txt')
    # f1['name'] = {'int': 10, 'float': 10.0}
    # f1.close()
    # 导入顺序   内置模块>扩展模块>自定义模块
    # import 模块名
    # from 模块 import 变量名
        # 直接使用 变量名 就可以完成操作
        # 如果本文件中有相同的变量名会发生冲突
    # from 模块名 import *
        # 将模块中的所有变量名都放到内存中
        # 如果本文件中有相同的变量名会发生冲突
    # from 模块名 import * 和 __all__ 是一对
        # 没有这个变量,就会导入所有的名字
        # 如果有all 只导入all列表中的名字
    
    # __name__
    # 在模块中 有一个变量__name__,
    # 当我们直接执行这个模块的时候,__name__ == '__main__'
    # 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
    
    # 当这个文件被别的模块调用时,如果没有if语句,
    print(__name__)     # 输出__main__
    print(123)
    if __name__ == '__main__':
        print(123)
  • 相关阅读:
    C博客作业00—我的第一篇博客
    C语言博客作业03函数
    C语言博客作业05指针
    快速分页:jsp标签pagertaglib
    JSP与Servlet的编解码
    初探Hibernate3源码读取配置文件
    截取图片的某个部分(C#源代码)
    使用MATLAB获取视频中每一帧的图像
    Windows下较为精确的计时方法
    [转]向Windows Phone 7手机部署应用程序
  • 原文地址:https://www.cnblogs.com/hhsh/p/9595596.html
Copyright © 2011-2022 走看看