首页 > 其他 > 详细

#跟着教程学# 7、模块和包

时间:2019-11-12 14:56:52      阅读:69      评论:0      收藏:0      [点我收藏+]

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

1、存一个模块

#存为名叫moudle.py的文件,它属于python里的模块。

def func_A():
    printA!
    
def func_B():
    printB!
    
def func_C():
    printC!

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

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

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

execfile("C:\Users\Administrator\Desktop\moudle1.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:\Users\lina\Desktop")

#方法一
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()

 

 

#跟着教程学# 7、模块和包

原文:https://www.cnblogs.com/3lina/p/11800144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!