首页 > 代码库 > python中、模块、包初识
python中、模块、包初识
模块:逻辑上组织python代码(变量、函数、类、逻辑:实现功能),以.py为结尾的python文件。(test.py 文件,对应的模块名:test)
包:用来从逻辑上组织模块的,本质就是一个目录(带有__init__.py的文件)。
导入方法:
import test
from test import *
from test import name,age
from test import name as name_test //从test中导入name变量后,变量名更改为name_test (防止当前模块中也有‘‘name‘‘变量
import:(路径搜索和搜索路径)
导入模块就是把被导入的模块(python文件)解释一遍.
导入包就是把被导入包中的__init__.py 解释一遍.
在我们导入 文件/包 的时候,我们所搜索的路径都是在当前文件(相同/同级)下中导入的,如果被导入的文件没有和当前文件是(相同/同级)目录下,单纯的impot是导入不成功的。
这里就要用到os.sys.path这个方法
>>> import os >>> os.sys.path [‘‘, ‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip‘, ‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5‘, ‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin‘, ‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload‘, ‘/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages‘]
这里os.sys.path 就是环境变量,如果说想要import 模块/包,那都是从这个list中的路径中查找 模块/包 的,所以想要import不是同级目录中的文件,可以把这个程序的目录添加到环境变量中,然后再进行import就可以了 找到所要import文件的目录,加到环境变量中。
abs_path = os.path.abspath(__file__) #当前文件的绝对路径 base_path =os.path.dirname(abs_path) #当前目录的父级目录 os.sys.path.insert(0,base_path) #将目标文件的目录添加到环境变量中,因为路径搜索是从list第一个元素进行搜索,所以把目录添加到第一位是为了能够更快的查找,也防止在其他目录下有与目标文件重名的文件.了能够更快的查找,也防止在其他目录下有与目标文件重名的文件.
python中、模块、包初识
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。