Posted in Python onMay 06, 2021
一、直接导入模块
import 模块名
优点:干净直接
import sys
print(sys.path)
import os # os是一个模块
import os.path # 注意这里的os.path是一个模块
二、直接导入包
import 包名
如果只导入包,在调用时不可使用.
来找到模块,但可以访问到__init__.py
下的类和函数。
import bs4 # 注意这里bs4是一个包!
soup = bs4.BeautifulSoup(...) # 可以访问到包中__init__.py下的类和函数
import Mypack
# Mypack.fun.func() 会报错,找不到fun模块,需要使用方法3或6来导入特定模块
三、导入包中的一个模块
import 包名.模块名
包使用的注意事项
- 需要先将包(文件夹)写在
sys.path
列表中的一个目录下,如果没有需要使用列表的append
方法追加进去。 - 在包中需要再写一个
__init__.py
文件表示这是一个包,文件可以为空。在__init__.py
下写的函数和类可以在只导入包的情况下访问到(如只导入bs4
包,可以使用BeautifulSoup
类,但不可以使用包中的其他模块)。
import sys
sys.path.append(r"E:\\")
import Mypack.fun
Mypack.fun.func()
四、导入模块并取别名
import 模块名 as 别名
优点:别名方便记忆
import sys as s
print(s.path)
import Mypack.fun as f
f.func()
五、从模块(或者包)中取出特定函数(不建议)
from 模块名(包名) import 函数名
优点:直接取出特定函数,无需再加命名空间。
缺点:无命名空间限制,容易乱。
from sys import setrecursionlimit
setrecursionlimit(500)
from bs4 import BeautifulSoup # 这里取出了bs4包中__init__.py文件中的BeautifulSoup类
soup = BeautifulSoup(...)
用通配符导入模块中的所有函数,且无需加命名空间。
from sys import *
setrecursionlimit(500)
六、从包中取出特定模块
from 包名 import 模块名
优点:相较方法3在调用时可以少写包名。
from Mypack import fun
fun.func()
到此这篇关于Python中常见的导入方式总结的文章就介绍到这了,更多相关Python常见导入方式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!
Python中常见的导入方式总结
- Author -
Villanelle#声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@