python在import module的时候 是按照以下顺序去import一个module的:
1. 首先判断这个module是不是built-in即内建模块,
如果是则引入内建模块,如果不是则在一个称为sys.path的list中寻找
2. sys.path在python脚本执行时动态生成,包括以下3个部分:
a.脚本执行的位置,即当前路径
b.环境变量中的PYTHONPATH, 即.bash_profile
c.安装python时的依赖位置
import sys
for i in sys.path:
print(i)
D:\python_study\week5\day1#当前路径
D:\python_study
D:\python\python36.zip#没有设置环境变量
D:\python\DLLs#依赖文件
D:\python\lib
D:\python
D:\python\lib\site-packages
__name__的使用:
cal.py内容如下
import test
print(__name__)
test.py内容如下:
import functools
int2 = functools.partial(int, base=2)
int8 = functools.partial(int, base=8)
if __name__ == '__main__':
print(int('12345', 16))
a = int8('1423')
print(a)
print(__name__)
执行cal.py时,结果如下:
test
__main__
说明当程序开始的文件的__name__值为__main__,当import其他模块时,import文件也会执行,但是__name__属性为文件名(不含后缀)。
这可以帮助判断是否被调用。