当前位置: 首页 > news >正文

Python常用模块实用指南

✅  模块详解与补充

1️⃣ sys 模块

🧩 功能:

负责程序与 Python 解释器之间的交互。

🔍 常用函数:
函数描述
sys.getdefaultencoding()获取系统默认编码(通常是 'utf-8'
sys.path获取当前解释器查找模块的路径列表
sys.platform获取操作系统平台名称(如 'win32''linux''darwin'
sys.version获取 Python 解释器版本信息
🧪 示例代码:
import sysprint(sys.getdefaultencoding())   # 输出默认编码格式
print(sys.path)                   # 输出模块搜索路径
print(sys.platform)               # 输出操作系统平台
print(sys.version)                # 输出 Python 版本信息

2️⃣ time 模块

🧩 功能:

用于获取和操作时间相关数据。

⏱️ 时间表示方式:
  1. 时间戳(timestamp):从 1970-01-01 00:00:00 UTC 到现在的秒数。
  2. 时间元组(struct_time):包含年、月、日、时、分、秒等信息的元组。
  3. 格式化字符串(format string):自定义格式的时间字符串。
🔍 常用函数:
函数描述
time.time()获取当前时间戳(浮点数)
time.localtime()获取本地时间的 struct_time 对象
time.asctime()返回当前时间的字符串表示
time.ctime()返回当前时间的字符串表示(等价于 asctime(localtime())
time.strftime(format, t)将 struct_time 转换为指定格式的字符串
time.strptime(string, format)将字符串解析为 struct_time
🧪 示例代码:
import timeprint(time.time())                      # 当前时间戳
print(time.localtime())                 # 当前时间元组
print(time.asctime())                   # 格式化时间字符串
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))  # 自定义格式
print(time.strptime("2021-08-02", "%Y-%m-%d"))  # 字符串转时间元组

3️⃣ logging 模块

🧩 功能:

记录程序运行时的日志信息,便于调试、分析问题。

🎯 日志级别(从高到低):
级别数值描述
CRITICAL50严重错误,表示程序可能无法继续运行
ERROR40错误信息,但程序仍可运行
WARNING30警告信息,潜在问题
INFO20一般信息,确认程序正常运行
DEBUG10调试信息,用于开发阶段
NOTSET0不设置级别,默认继承父级

默认日志级别是 WARNING,即只显示 WARNING 及以上级别的日志。

🔍 配置参数说明:
参数名含义
filename指定日志输出文件路径
filemode文件打开模式(默认 'a',追加写入)
level设置日志最低记录级别
format定义日志输出格式
🧪 示例代码:
import logging# 配置日志输出
logging.basicConfig(filename='log.log',filemode='a',level=logging.DEBUG,format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)logging.debug("这是一个 debug 日志")
logging.info("这是一个 info 日志")
logging.warning("这是一个 warning 日志")
logging.error("这是一个 error 日志")
logging.critical("这是一个 critical 日志")

4️⃣ random 模块

🧩 功能:

生成随机数或随机选择元素。

🔍 常用函数:
函数描述
random.random()生成 [0.0, 1.0) 的随机浮点数
random.uniform(a, b)生成 [a, b) 区间内的随机浮点数
random.randint(a, b)生成 [a, b] 区间内的随机整数
random.randrange(start, stop[, step])从 range(start, stop, step) 中随机选一个整数
random.choice(seq)从序列中随机选择一个元素
random.shuffle(seq)打乱序列顺序(原地修改)
🧪 示例代码:
import random# 1 生成大于0 小于1之间的小数 包左不包右
print(random.random())
# 2 产生指定范围的随机小数 包左不包右
print(random.uniform(1,3))
# 3 产生指定范围的随机整数 包含左右
print(random.randint(1,3))
# 4 产生start-stop范围内的整数,包含左边,不包含右边
print(random.randrange(1,4))
# 5 指定产生的随机的步长,随机选择一个数据
# 比如 2 -5 之间 以步长为3 找随机数那么只能是2满足
print(random.randrange(2,5,3))
# 比如 2 -5 之间 以步长为3 找随机数那么只能是2和4满足
print(random.randrange(2,5,2))

✅ 注意事项总结

  1. logging.basicConfig() 只生效一次,多次调用不会生效。
  2. random.randrange() 如果范围中只有一个值,结果固定。
  3. time.strftime() 和 time.strptime() 的格式字符串必须一致。
  4. sys.path 可以动态添加模块路径,用于导入本地模块。
  5. random.choice() 和 random.shuffle() 适用于处理列表、元组等序列类型。

相关文章:

  • Agent 的7 中设计模式
  • web端 firebase google analytics使用,入门级
  • 3099. 哈沙德数
  • Rust并发编程实践指南
  • 对于Const关键字修饰的对象
  • CANdela/Diva系列9--CDD文件在CANoe工程的应用1
  • 精准监测,健康无忧--XC3576H工控主板赋能亚健康检测仪
  • Linux入门——入门常用基础指令(2)
  • 每日算法 -【Swift 算法】正则表达式匹配:支持 `.` 和 `*`
  • 端到端测试最佳实践:从入门到精通的完整指南
  • 【AUTOSAR OS 】保护功能解析:从原理到应用与源代码解析(上篇)
  • Docker 前端镜像容器部署指南
  • 【HW系列】—Log4j2、Fastjson、Shiro漏洞流量特征
  • 超声成像系统解决方案AFE模拟前端
  • Vue开发系列——Vue 生命周期钩子 及常见知识点
  • Cisco Meraki(MR36) 踩坑指南
  • 线程池学习(一)
  • 小白成长之路-Linux操作系统-进程管理
  • JVM——Truffle:语言实现框架
  • JVM与JMM深度解析:从Java 8到Java 21的演进
  • 南京房产网站建设/找个网站
  • 绵阳手机网站制作/一个完整的营销策划案范文
  • 企业网站的建立不能缺少哪些细节/windows优化大师值得买吗
  • 可以直接做ppt的网站吗/百度推广售后
  • 网站收录大幅度下降/广告服务平台
  • 网站开发 安全/小程序开发平台有哪些