导入moduleName
模块中的所有符号
。
可以一次性导入多个模块
,多个模块
之间用逗号
隔开。
示例1:
import os;
os.system('ls');
示例2:
import os as opratingSystem;
opratingSystem.system('ls');
示例3:
import os, sys;
os.system('ls');
print(sys.path);
示例4:
import pkg.moudle;
pkg.moudle.func();
注意:Python
的内置模块优先被导入,我们自己编写Python模块
的时候,如果没有放到某个包中,就千万不要与Python
的内置模块名称一样,否则将无法被导入。
导入packageName
包中的模块
。
可以一次性导入多个模块
,多个模块
之间用逗号
隔开。
示例1:
from pkg import module;
module.func();
示例2:
from pkg import module1, module2, module3;
module1.func();
module2.func();
module3.func();
示例3:
from pkg import *;
module1.func();
module2.func();
module3.func();
moduleName
列表可以使用*
,表示要导入packageName
中__init__.py
文件中用__all__
指定的可以被其他模块模糊导入
的模块
数组。
导入moduleName
模块中的符号
。
可以一次性导入多个符号
,多个符号
之间用逗号
隔开。
示例1:
from os import system;
system('ls');
示例2:
from os import system, uname, environ;
system('ls');
uname();
print(environ['PATH']);
示例3:
from os import *;
system('ls');
uname();
print(environ['PATH']);
symbol
列表可以使用*
,表示要导入moduleName
中用__all__
指定的可以被其他模块模糊导入
的symbol
数组。
示例4:
from pkg.module import func;
func();
1、在import
语句所在的源文件所在的文件夹中查找是否有要导入的模块;
2、如果没有找到,就去sys.path
数组依次查找。
只要找到一个,就停止寻找,如果没有找到,就抛出错误。
当通过from moduleName import *
或者from packageName import *
语句模糊导入
的时候, 根据__all__
指定的符号列表
或者模块列表
进行导入。如果__all__
缺失,将会全部导入。
__file__
是一个字符串
,由Python解释器
在运行的时候设定,表示该模块在文件系统中的路径。
__package__
是一个字符串
,由Python解释器
在运行的时候设定,表示该模块所在的包名称。
__name__
是一个字符串
,由Python解释器
在运行的时候设定,表示该模块的名字。
当该模块
被通过from moduleName import symbol
或者from packageName import moduleName
语句导入的时候,__name__
被赋值为文件名的前缀;
当该模块
被Python解释器
直接运行的时候,__name__
被赋值为__main__
字符串。
通常,通过判断此变量的值,来判断是否是由Python解释器
直接运行,从而编写不同的逻辑。示例:
import sys;
from pkgA import main;
if __name__ == '__main__':
sys.exit(main());
成千上万的个人、组织、公司为Python开发第三方模块。