zoukankan      html  css  js  c++  java
  • day 21 01 序列化模块和模块的导入的复习以及包的初识

    day 21 01 序列化和模块的导入的复习以及包的初识

     

     

    1.序列化模块

     

     什么是序列化模块:数据类型转化成字符串的过程就是序列卷

     为什么要使用序列化模块:为了方便存储和网络传输

     三种序列化模块:

     (1) json

           dumps:序列化方法

           loads:反序列化

           dump:和文件有关

           load:不能load多次

    (2)pickle

           方法和json一样,都有以上四种

           注意dump和load的时候,文件是rb或者wb打开

           支持python的所有数据类型

           序列化和反序列化需要相同的环境

    (3)shelve

           只提供了open方法

           open方法获取了一个文件句柄

           操作和字典类似,记得操作完了close文件

     

    2.模块的导入

           import

           from import

          as 重命名

          都支持多名字导入

          sys.moudles:记录了所有被导入的模块

          sys.path:记录了导入模块的时候寻找的所有路径

     

    3.包的初识

     包:把解决一类问题的模块放在同一个文件夹里面-----包

          同样导入的时候有import和from  import     

    import glance.api.policy  #galance包含api,api包含policy,都是py文件
    policy.get()
    
    from glance.api.import policy  #galance包含api,api包含policy
    policy.get()

    from glance.api.policy import get #直接到模块下面的方法了
    get()

          注意:凡是导入是带点的,点的左边必须是一个包模块,import后面不能带有点(from glance import policy.api是错误会报错

     

    使用包里面的方法 import

     

    import galance   # 不会执行policy.py文件
    glance.api.policy.get()
    #这时是会报错的,不能只导入glance,然后直接使用里面的变量和方法,因为只是导入了glance的文件夹并没有和里面的文件夹产生关系

        #如何解决呢?

    import glance
    ---执行init文件:在init文件里面再import api,import cmd,import db
    ---执行import的三个文件的init文件:再在他们的import policy,import versioncy

    此时就可以只通过importglance,然后后面直接点就使用glance里面的方法了:

    import glance
    glance.db.方法
    glance.cmd.方法

     

     

  • 相关阅读:
    死磕Spring之IoC篇
    死磕Spring之IoC篇
    死磕Spring之IoC篇
    死磕Spring之IoC篇
    Linux解决 -bash: nc: command not found问题
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnException
    flink配置参数
    Joins in Continuous Queries
    Linux中的tar命令
    Table API&SQL和常见问题总结
  • 原文地址:https://www.cnblogs.com/wxm422562/p/10798096.html
Copyright © 2011-2022 走看看