Skip to content

Python 常用内置模块

os

提供了操作系统相关的功能

py
import os

# ...
常用模块成员说明
os.name当前操作系统的名称,返回值为ntposix
windows系统: nt
非windows系统: posix
os.sep当前操作系统中路径的分隔符,返回值为一个字符串
windows系统: \
非windows系统: /
os.environ.get()获取参数指定的环境变量
os.path.abspath()获取参数指定的文件的完整绝对路径,返回值为一个字符串
os.path.isdir()判断参数指定的路径是否是一个目录,返回值为一个布尔值
os.path.isfile()判断参数指定的路径是否是一个文件,返回值为一个布尔值
os.path.isexists()判断参数指定的路径是否存在,返回值为一个布尔值
os.path.splitext()将参数指定的完整文件名分割为文件名与后缀名,返回值为一个元组

math

提供了基础数学计算相关的功能

py
import math

# ...
常用模块成员说明例子
math.floor()将参数数值向下取整print(math.floor(0.4)) # 0
print(math.floor(0.6)) # 0
math.ceil()将参数数值向上取整print(math.ceil(0.4)) # 1
print(math.ceil(0.6)) # 1
round()将参数四舍五入 ( 不是 math 模块的成员 )print(round(0.4)) # 0
print(round(0.6) # 1

random

提供了随机数相关的功能

py
import random

# ...
常用模块成员说明例子
random.random()获取一个[0, 1)之间的随机浮点数
random.randint()获取一个[a, b]之间的随机整数random.randint(1, 5)
random.choice()从一个可迭代对象中随机获取一个成员random.choice(对象)
random.sample()从一个可迭代对象中随机获取指定个数的成员random.sample(对象, n)

datetime

提供了日期时间操作相关的功能

py
import datetime

# ...
常用模块成员说明
datetime.datetime.now()获取当前的日期时间
datetime.datetime.now() + datetime.timedelta(3)获取距离当前3天后的日期时间

time

提供了时间操作相关的功能

py
import time

# ...
常用模块成员说明例子
time.time()获取时间戳秒数
time.strftime()指定时间输出格式print(time.strftime("%Y-%m-%d")) # 2025-01-01
print(time.strftime("%H:%M:%S")) # 12:00:01
time.sleep()线程暂停指定秒数time.sleep(3)

hashlib

提供了字符加密操作相关的功能

具体包含了 MD5、SHA1、SHA224、SHA256、SHA354、SHA512 加密算法

py
import hashlib

# ...

json

提供了数据序列化、反序列化操作相关的功能

py
import json

# ...
常用模块成员说明
json.dumps()用于实现序列化
json.loads()用于实现反序列化
json.dump()用于实现序列化,并自动将 JSON 格式数据字符串写入一个文件对象
json.load()用于实现反序列化, 自动读取一个 JSON 文件对象内容并转为 Python 数据

序列化 vs 反序列化

  • 序列化: Python 数据 → JSON 格式数据
  • 反序列化: JSON 数据 → Python 数据
例子:验证序列化与反序列化
py
import json

data = [
    {'name': 'Andy', 'age': 28},
    {'name': 'Tom', 'age': 16},
]

json_str = json.dumps(data)
print(json_str)         # '[{"name": "Andy", "age": 28}, {"name": "Tom", "age": 16}]'
print(type(json_str))   # <class 'str'>
py
import json

json_str = """
[
    { "name": "Andy", "age": 28 },
    { "name": "Tom", "age": 16 }
]
"""

data = json.loads(json_str)
print(data)             # [{'name': 'Andy', 'age': 28}, {'name': 'Tom', 'age': 16}]
print(type(data))       # <class 'list'>
例子:序列化与反序列户结合文件的读写操作
py
import json

data = [
    {'name': 'Andy', 'age': 28},
    {'name': 'Tom', 'age': 16},
]

with open("./data.json", "w") as f:
    json.dump(data, f)
py
import json

with open("./data.json.json", "r") as f:
    data = json.load(f)
    print(data)
    print(type(data))


# "[{'name': 'Andy', 'age': 28}, {'name': 'Tom', 'age': 16}]"
# <class 'list'>