正文
]
给导入的模块或者方法起一个别名
from sys import path as path_alias
调用的时候使用别名path_alias
>>>
path
_
alias
[
''
,
'C:Python35libsite-packagespip-8.1.1-py3.5.egg'
,
'C:Python35python35.zip'
,
'C:Python35DLLs'
,
'C:Python35lib'
,
'C:Python35'
,
'C:Python35libsite-packages'
]
添加默认的环境变量,当前生效
sys.path.append("PATH_NAME")
可以使用imp模块中的reload方法重新载入某个模块的方法,例如下面的实例:
$
cat
simple
.
py
#!/use/bin/env python
print
(
'Hello, World!'
)
spam
=
1
>>>
import simple
Hello
,
World
!
>>>
simple
.
spam
1
>>>
simple
.
spam
+=
1
>>>
import
simple
>>>
simple
.
spam
2
>>>
import
imp
>>>
imp
.
reload
(
simple
)
Hello
,
World
!
>>>
simple
.
spam
1
模块导入顺序
-
先在当前脚本目录寻找有没有与导入模块名称相同的文件,如果有就把这个文件当作模块导入(据不完全统计,这是个坑,测试re模块没有问题,但是测试sys模块就有问题了)
-
查找模块路径下面有没有对应的模块名
-
如果没有找到模块名就报错
import是如何工作的?
模块在被导入的时候会执行以下三个步骤:
-
通过环境变量找到模块文件;
-
编译成字节码文件,如果有字节码文件则导入字节码文件;
-
执行模块中的代码来创建所定义的对象;
以上的三个步骤只有在程序运行时,模块被第一次导入时才会进行。如果已经导入了这个模块然后再次导入的时候会跳过上面的三个步骤,它会直接提取内存中已经加载的模块对象。Python已经导入的模块会保存在sys.modules字典中。
_X与__all__
在模块中的所有变量以_开头的都不会被from *所导入
$
cat
simple
.