• #跟着教程学# 9、模块和包


    模块:就是.py文件,里面定义了一些函数和变量,需要的时候导入这些模块。

    1、存一个模块

    #存为名叫moudle.py的文件,它属于python里的模块。
    
    def func_A():
        print'A!'
        
    def func_B():
        print'B!'
        
    def func_C():
        print'C!'

    # Error: SyntaxError: file <maya console> line 1: invalid syntax #  

    无效语法,检查.py文件语法写的是否错误。第一次写把“()”掉了,就报了上面的错误。

    2、调用moudle.py模块方法1。

    execfile("C:UsersAdministratorDesktopmoudle1.py")
    
    func_A()
    A!

    # Error: IOError: file <maya console> line 1: 2 # 

    如果遇到上面的错误,注意检查文件路径是否有误。

    3、调用moudle.py模块方法2,导入。

    如果直接import moudle1 会出错。# Error: ImportError: file <maya console> line 1: No module named moudle1 #  

    可以导入sys模块。使用sys模块里面的path命令。把模块的路径添加到path里,然后再调用即可。其实也可以直接把模块文件放置到path找到的路径下,例如D:/Documents/maya/2018/scripts,也是可以调用的。

    import sys
    
    #把模块所在路径加到path下,然后打印所有路径检查是否加入
    sys.path.append("C:/Users/lina/Desktop")
    for i in sys.path:
        print i
        
    #导入模块然后调用模块中的命令func_A
    import module1
    
    module1.func_A()

    包:在模块之上的概念,为了方便管理而将文件进行打包。包目录下第一个文件是__init__.py,然后是一些模块文件和子目录。假如子目录中也有__inti__.py,那么它就是这个包的子包了。

    包里可以放N个模块,但是需要在文件夹中加一个__init__.py文件,这个文件可以是空的,用空文档改后缀即可。这样直接导入文件夹名,就不会报错。一旦包被成功的引用之后,就会在文件夹内生成一个__init__.pyc的文件。

    例如,新创建一个文件夹package,里面放三个文件,分别是module1.py,module2.py,__init__.py 。然后调用包里的模块的命令。下面是单独导入命令的两种方法。

    import sys
    
    #把包所在的路径添加到path下
    sys.path.append("C:UserslinaDesktop")
    
    #方法一
    import package.module1
    
    package.module1.func_A()
    
    #方法二
    from package import module2
    
    module2.func_A()

    导入整个包里的所有模块。需要在__init__.py文件中加入__all__ = ['module1','module2']

    然后会导入列表中所列的模块。

    #导入PKG包里的所有模块。重新载入。
    from PKG import *,reload(PKG)
    
    #执行模块A里的func_A命令
    moduleA.func_A()
  • 相关阅读:
    selenium环境搭建
    noip2020游记
    [HNOI2007]分裂游戏——博弈论好题
    [SCOI2007]压缩——区间dp
    赛道修建——二分答案
    玩诈欺的小杉——异或优化的状压dp
    【佛山市选2013】排列——发现性质与转化问题
    电话线铺设——难实现的最小生成树
    备用钥匙——分情况讨论的好dp
    喝喝喝——稍加推导的好转化
  • 原文地址:https://www.cnblogs.com/3lina/p/11800144.html
Copyright © 2020-2023  润新知