模块导入的路径范围
由sys模块的sys.path方法来规定,sys.path返回的数据类型是列表。
案例
import sys
print(sys.path)
输出:
['E:\\workspace\\importTest', 'E:\\workspace\\importTest', 'E:\\xuegod\\python35.zip', 'E:\\xuegod\\DLLs', 'E:\\xuegod\\lib', 'E:\\xuegod', 'E:\\xuegod\\lib\\site-packages']
1、sys.path.append()方法
列表可以修改、我们导入的范围也可以通过修改sys.path这个列表获得暂时的修改。
案例:通过 sys.path.append()添加目录,导入额外目录的模块。
2、脚本和模块不要同名
列表是有序的,当搜索的过程当中,在第一个路径下搜索到了,就停止搜索。而且 sys.path第一 个路径是脚本的当前路径,所以禁止把自己的脚本命名成模块的名称。
案例:把test01.py 改名为os.py,在test02.py中进行导入。
improt os
os.print_func(18)
运行结果: AttributeError: module 'os' has no attribute 'path'
3、.pyc临时文件
python导入模块,被导入的脚本在第一次被导入之后会自动形成一个.pyc临时文件之后,再次被导入时,实际上导入的是这个.pyc的临时文件,发生这样的错误之后,除了要修改文件名称还要把当前目录下同名的.pyc 文件删除