简介:在编写程序时,经常会引入别人写好的模块。有的模块是Python自带的(内置模块),你无需安装就能直接引用,而有的模块则是由Python生态系统里的第三方工程师提供的,你需要通过
pip
安装之后,才能进行使用。由于在编写Python程序的时候会经常引用别人编写好的模块,因此你应该花一些时间来了解与之有关的知识点。为了让你对Python中的模块有一个清晰的认识,这篇文章将从以下几步来展开:
文章目录
1️⃣ 如何导包
在使用模块前,要先导入模块。
方式一:
import ...
方式二:
from ... import ...
2️⃣ 模块分类
🔰内置模块
python 自带的模块
✒️os模块与os.path模块
os — 多种操作系统接口
os.path — 常用路径操作
模块 | 作用 |
---|---|
os.remove()或os.unlink() | 删除文件 |
os.rename() | 重命名文件 |
os.listdir() | 列出指定目录下所有文件 |
os.chdir() | 改变当前工作目录 |
os.getcwd() | 获取当前文件路径 |
os.mkdir() | 新建目录 |
os.rmdir() | 删除空目录 |
shutil.rmtree() | 删除非空目录, 使用 |
os.makedirs() | 创建多级目录 |
os.removedirs() | 删除多级目录 |
os.stat(file) | 获取文件属性 |
os.chmod(file) | 修改文件权限 |
os.utime(file) | 修改文件时间戳 |
os.name(file) | 获取操作系统标识 |
os.system() | 执行操作系统命令 |
os.execvp() | 启动一个新进程 |
os.fork() | 获取父进程ID,在子进程返回中返回0 |
os.execvp() | 执行外部程序脚本(Uinx) |
os.spawn() | 执行外部程序脚本(Windows) |
os.access(path, mode) | 判断文件权限(详细参考cnblogs) |
os.wait() | 暂时未知 |
os.path.split(filename) | 将文件路径和文件名分割(会将最后一个目录作为文件名而分离) |
os.path.splitext(filename) | 将文件路径和文件扩展名分割成一个元组 |
os.path.dirname(filename) | 返回文件路径的目录部分 |
os.path.basename(filename) | 返回文件路径的文件名部分 |
os.path.join(dirname,basename) | 将文件路径和文件名凑成完整文件路径 |
os.path.abspath(name) | 获得绝对路径 |
os.path.splitunc(path) | 把路径分割为挂载点和文件名 |
os.path.exists() | 判断文件或目录是否存在 |
os.path.isabs() | 如果path是绝对路径,返回True |
os.path.normpath(path) | 规范path字符串形式 |
os.path.realpath(path) | 返回path的真实路径 |
os.path.relpath(path[, start]) | 从start开始计算相对路径 |
os.path.normcase(path) | 转换path的大小写和斜杠 |
os.path.isdir() | 判断name是不是一个目录,name不是目录就返回false |
✒️sys模块
系统相关的参数和函数
模块 | 描述 |
---|---|
sys.argv | 命令行参数List,第一个元素是程序本身路径 |
sys.path | 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 |
sys.modules.keys() | 返回所有已经导入的模块列表 |
sys.modules | 返回系统导入的模块字段,key是模块名,value是模块 |
sys.exit(n) | 退出程序,正常退出时exit(0) |
sys.hexversion | 获取Python解释程序的版本值,16进制格式如:0x020403F0 |
sys.version | 获取Python解释程序的版本信息 |
sys.platform | 返回操作系统平台名称 |
sys.stdout | 标准输出 |
sys.stdout.write(‘aaa‘) | 标准输出内容 |
sys.stdout.writelines() | 无换行输出 |
sys.stdin | 标准输入 |
sys.stdin.read() | 输入一行 |
sys.stderr | 错误输出 |
✒️time模块
time — 时间的访问和转换
模块 | 描述 |
---|---|
time.ctime( ) | 时间的字符串 |
time.time( ) | 返回当前时间的时间戳 |
time.sleep( ) | 延时多少秒 |
✒️math模块
math — 数学函数
模块 | 描述 |
---|---|
ceil | 取大于等于x的最小的整数值,如果x是一个整数,则返回x |
copysign | 把y的正负号加到x前面,可以使用0 |
cos | 求x的余弦,x必须是弧度 |
degrees | 把x从弧度转换成角度 |
e | 表示一个常量 |
exp | 返回math.e,也就是2.71828的x次方 |
expm1 | 返回math.e的x(其值为2.71828)次方的值减1 |
fabs | 返回x的绝对值 |
floor | 取小于等于x的最大的整数值,如果x是一个整数,则返回自身 |
fsum | 对迭代器里的每个元素进行求和操作 |
gcd | 返回x和y的最大公约数 |
✒️random模块
random — 生成伪随机数
模块 | 描述 |
---|---|
random.random() | 函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间。 |
random.uniform() | 正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。 |
random.randint() | 随机生一个整数int类型,可以指定这个整数的范围。 |
random.choice() | 可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。 |
random.shuffle()。 | 如果你想将一个序列中的元素,随机打乱的话可以用这个函数方法 。 |
random.sample() | 可以从指定的序列中,随机的截取指定长度的片断,不作原地修改。 |
✒️re模块
匹配正则表达式
模块 | 描述 |
---|---|
re.match(pattern, string, flags=0) | 从字符串的起始位置匹配,如果起始位置匹配不成功的话,match()就返回none |
re.search(pattern, string, flags=0) | 扫描整个字符串并返回第一个成功的匹配 |
re.findall(pattern, string, flags=0) | 找到RE匹配的所有字符串,并把他们作为一个列表返回 |
re.sub(pattern, repl, string, count=0, flags=0) | 替换匹配到的字符串 |
re.finditer(pattern, string, flags=0) | 找到RE匹配的所有字符串,并把他们作为一个迭代器返回 |
🔰第三方模块
第三方模块是别人开发的模块,需要第三方模块可以到官网下载,也可以使用命令行下载
PyPI · The Python Package Index
pip install pygame
pygame是模块名
✒️常见第三方模块
模块 | 作用 |
---|---|
Requests | 请求 |
wxPython | Python的一个GUI(图形用户界面)工具 |
Pillow | 它是PIL(Python图形库)的一个友好分支 |
SQLAlchemy | 数据库的库 |
NumPy | 数学方法 |
Pygame | 游戏 |
Pyglet | 3D动画和游戏开发引擎 |
pywifi | 连接wifi |
pytest | 测试 |
psutil | 运维 |
opencv-python | 计算机视觉 |
🔰自定义模块
如果内置模块和第三方模块都不能实现效果,可以根据需求自定义模块
例:
def addnum(num1,num2)
print(num1 + num2)
文件名number.py
import number
number.addnum(1,2) #结果为1+2=3