Python基础语法(十四):Python常用内置模块及功能
Python标准库提供了丰富的内置模块,无需额外安装即可使用。以下是按功能分类的常用内置模块及其核心功能:
一、文件与操作系统交互
1. os
模块
- 功能:操作系统接口
- 常用方法:
os.getcwd() # 获取当前工作目录 os.listdir() # 列出目录内容 os.mkdir() # 创建目录 os.rename() # 重命名文件 os.path.join() # 智能拼接路径 os.path.exists() # 检查路径是否存在
2. sys
模块
- 功能:系统相关参数和函数
- 常用方法:
sys.argv # 命令行参数列表 sys.exit() # 退出程序 sys.path # Python模块搜索路径 sys.version # Python版本信息
3. pathlib
(Python 3.4+)
- 功能:面向对象的文件系统路径操作
- 示例:
from pathlib import Path p = Path('.') # 当前目录 p.glob('*.py') # 查找所有.py文件
二、数据处理与序列化
1. json
模块
- 功能:JSON编码解码
- 常用方法:
json.dumps(obj) # 对象→JSON字符串 json.loads(json_str) # JSON字符串→对象 json.dump(obj, file) # 写入JSON文件 json.load(file) # 读取JSON文件
2. pickle
模块
- 功能:Python对象序列化
- 特点:
- 专为Python设计,支持几乎所有Python对象
- 序列化后的数据是二进制格式
3. collections
模块
- 功能:扩展的数据容器
- 常用类:
from collections import defaultdict, Counter, deque# 默认值字典 dd = defaultdict(int)# 计数器 cnt = Counter('abracadabra')# 双端队列 dq = deque([1,2,3])
三、日期与时间处理
1. datetime
模块
- 功能:日期时间操作
- 核心类:
from datetime import datetime, timedeltanow = datetime.now() # 当前时间 tomorrow = now + timedelta(days=1) # 时间计算
2. time
模块
- 功能:时间访问和转换
- 常用方法:
time.time() # 时间戳(秒) time.sleep(1) # 暂停1秒 time.strftime() # 格式化时间
四、数学与随机数
1. math
模块
- 功能:数学运算
- 常用方法:
math.sqrt(x) # 平方根 math.sin(x) # 正弦函数 math.pi # 圆周率π math.factorial(n) # 阶乘
2. random
模块
- 功能:生成伪随机数
- 常用方法:
random.random() # [0,1)随机浮点数 random.randint(a,b) # [a,b]随机整数 random.choice(seq) # 序列随机元素 random.shuffle(lst) # 列表随机排序
五、网络与互联网
1. urllib
系列
- 功能:URL处理
- 常用子模块:
from urllib.request import urlopen from urllib.parse import urlparseresp = urlopen('http://example.com') parsed = urlparse('http://example.com/path?query=1')
2. socket
模块
- 功能:底层网络接口
- 典型用法:
import socket s = socket.socket() s.connect(('example.com', 80))
六、调试与开发工具
1. logging
模块
- 功能:日志记录
- 基本配置:
import logging logging.basicConfig(level=logging.INFO) logging.info('程序启动')
2. pdb
模块
- 功能:Python调试器
- 使用方法:
import pdb; pdb.set_trace() # 设置断点
七、其他实用模块
模块名 | 主要功能 | 典型应用场景 |
---|---|---|
re | 正则表达式操作 | 文本模式匹配 |
itertools | 迭代器工具 | 高效循环组合 |
functools | 高阶函数工具 | 装饰器、偏函数 |
zipfile | ZIP压缩文件操作 | 文件打包解压 |
csv | CSV文件读写 | 表格数据处理 |
hashlib | 安全哈希算法 | 密码加密存储 |
sqlite3 | SQLite数据库接口 | 轻量级数据库操作 |
使用技巧
-
查看模块内容:
import math print(dir(math)) # 查看所有可用函数
-
快速帮助:
help(math.sqrt) # 查看函数文档
-
模块重命名:
import numpy as np # 标准做法
这些内置模块覆盖了Python开发的绝大多数基础需求,熟练掌握它们可以大幅提升开发效率。建议在实际项目中多查阅官方文档,了解每个模块的更多细节功能。
相关文章:
Python基础语法(十四):Python常用内置模块及功能
Python标准库提供了丰富的内置模块,无需额外安装即可使用。以下是按功能分类的常用内置模块及其核心功能: 一、文件与操作系统交互 1. os 模块 功能:操作系统接口常用方法:os.getcwd() # 获取当前工作目录 os.listdir() …...

【Opencv+Yolo】_Day1图像基本处理
目录 一、计算机中的视觉: 二、Opencv基本操作: 图片基础处理: 视频基本处理: 图像截取(截取,合并,只保留一个元素) 图像填充 数值计算 图像融合 阈值判断 图像平滑 图像腐…...
MySQL各种日志类型介绍
概述 MySQL 提供了多种日志类型,用于记录数据库的运行状态、操作历史和错误信息等,这些日志对于故障排查、性能优化、安全审计和数据恢复等具有重要作用。以下是 MySQL 中常见的日志类型及其详细介绍资料已经分类整理好:https://pan.quark.c…...
15.2【基础项目】使用 TypeScript 实现密码显示与隐藏功能
在现代 Web 应用中,允许用户切换密码的可见性不仅提升了用户体验,也让表单填写更便捷。使用 TypeScript 来实现这个功能,不仅具备强类型检查优势,还能提升代码的可维护性。 ✨ 我们要实现的功能 在这篇文章中,我们将…...
Django压缩包形式下载文件
通过web将minio上的文件以压缩包-文件夹-文件的形式下载到本地 import os from bx_mes import settings from io import BytesIO import zipfile from django.http import StreamingHttpResponse class FileRemote(GenericAPIView):def post(self,request):# 压缩包名folder_n…...
晚期NSCLC临床试验终点与分析策略
1. 案例背景 1.1 研究设计 1.1.1 适应症与分组 晚期非小细胞肺癌一线治疗,干预组为新型免疫检查点抑制剂联合化疗,对照组为化疗单药,随机双盲安慰剂对照III期试验。 1.1.2 目标框架 基于FDA或ICH指南,终点定义和分析策略影响试验科学性及监管审评。 2. 终点定义 2.1 主要…...

从比分滚动到数据革命:体育数据如何重构我们的观赛体验?
当凌晨三点的欧冠决赛与闹钟冲突时,当世界杯小组赛因时差难以全程跟进时,当代体育迷早已不再依赖电视直播 —— 打开手机里的比分网,实时跳动的体育大数据正构建着全新的观赛宇宙。这些曾经被视为 "辅助工具" 的平台,如…...

华为网路设备学习-23(路由器OSPF-LSA及特殊详解 二)
OSPF动态路由协议要求: 1.必须有一个骨干区域(Area 0)。有且仅有一个,而且连续不可分割。 2.所有非骨干区域(Area 1-n)必须和骨干区域(Area 0)直接相连,且所有区域之间…...

VPet虚拟桌宠,一款桌宠软件,支持各种互动投喂等. 开源免费并且支持创意工坊
📌 大家好,我是智界工具库,每天分享好用实用且智能的开源项目,以及在JAVA语言开发中遇到的问题,如果本篇文章对您有所帮助,请帮我点个小赞小收藏小关注吧,谢谢喲!😘 工具…...

新书速览|ASP.NET MVC高效构建Web应用
《ASP.NET MVC高效构建Web应用》 本书内容 《ASP.NET MVC高效构建Web应用》以目前流行的ASP.NET MVC 5、HTML和Razor为主线,全面系统地介绍ASP.NET MVC Web应用开发的方法,配套提供实例源码、PPT课件与作者一对一QQ答疑服务。 《ASP.NET MVC高效构建Web…...

MySQL 9.3 超详细下载安装教程(Windows版)附图文说明
MySQL 9.3 超详细下载安装教程(Windows版)附图文说明 💡 本文适用于Windows 10/11系统,包含完整的安装流程、环境配置和疑难解答。建议收藏备用! 一、下载MySQL 1. 访问官网 进入MySQL官方下载页面:http…...

Linux之软件包管理器(CentOS系统) —— yum
目录 一、软件包管理器 1-1什么是软件包 1-2 Linux软件生态 Linux下载软件的过程(Ubuntu、Centos、other) 操作系统的好坏评估---生态问题 1. 应用软件生态 2. 硬件兼容性 3. 开发者社区与开源生态 4. 商业合作与盈利模式 5. 用户粘性与使用习惯 6. 安全与合规生态 …...

webpack吐环境分析
需要解决的问题 扣取下来的webpack文件过大 解决思路 用ast将需要的代码扣下来 结果展示 实现步骤 第一步:我们得知道需要哪些模块 在入口处,增加模块记录 第二步,分析ast代码 通过分析发现,key 有三种值 分别为NumbericLiteral、StringLi…...

Unity InputField 滑动滚轮 实现对文本的滚动
一。效果演示: 二。实现原理: 创建一个脚本KeInputScroll.cs 继承InputField类和IScrollHandler接口。如下面代码所示: using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class KeInputScroll : InputFiel…...

机械设计插件
在进行机械设计的时候,很多厂家对我们开放了外购件的模型,方便我们进行设计选购,但是尽管如此,我们在使用的时候还是很麻烦,我目前使用的是Part data manager来管理这些厂家的模型,使用方法非常简单。 首先…...
Monorepo 管理
以下是设计可扩展的前端架构(Monorepo 管理)的核心知识点总结: 一、Monorepo 的核心概念与优势 1. 什么是 Monorepo? 定义:将多个相关项目(包、应用、库)存储在一个代码仓库中的代码管理模式。对比 Multirepo:传统每个项目独立仓库,Monorepo 统一管理依赖、配置和工具…...

RabbitMQ核心机制——延迟队列
一、 什么是延迟队列? 消息发送之后,不想让消费者马上收到消息,而是等待特定时间后消费者才能拿到这条消息进行消费。 二、 如何实现延迟队列 RabbitMQ并没有直接支持延迟队列这一功能,如果需要实现延迟队列,有两种方法…...

华为云Flexus+DeepSeek征文|Flexus云服务器Dify-LLM资源部署极致体验Agent
前引:重磅来袭!本次以DeepSeek-V3/R1商用大模型和Dify-LLM应用平台一键部署为核心,专为新手打造“开箱即用”的AI开发体验。无论你是想快速搭建企业级AI应用,还是探索大模型落地的无限可能,只需跟随小编实现三步走&…...
IP 网段
以下是关于 IP 网段 的详细解析,涵盖基本概念、表示方法、划分规则及实际应用场景: 一、网段核心概念 1. 什么是网段? 网段指一个逻辑划分的 IP 地址范围,属于同一子网的设备可以直接通信(无需经过路由器)…...
芋道框架 - 接口设置匿名访问
芋道框架 - 接口设置匿名访问 在芋道(yudao)框架中,有些接口需要开放给外部访问,例如文件上传、验证码获取等。要实现接口的匿名访问,主要有两个步骤: 1. 在接口上添加 PermitAll 在需要匿名访问的接口方…...
熔盐核裂变反应堆:第四代核能技术的重要突破
在核能技术的演进历程中,第四代核能系统被寄予厚望,代表着更高的效率、更强的安全性和更广泛的资源适应能力。近年来,熔盐反应堆技术作为其中最具挑战性和变革性的方案之一,逐步走向工程化与实用化阶段。其中,液态燃料…...
鸿蒙OSUniApp 实现的日期选择器与时间选择器组件#三方框架 #Uniapp
UniApp 实现的日期选择器与时间选择器组件 在移动应用开发中,日期选择器和时间选择器是表单、预约、日程、打卡等场景中不可或缺的基础组件。一个好用的日期/时间选择器不仅能提升用户体验,还能有效减少输入错误。随着 HarmonyOS(鸿蒙&#…...
Linux云计算训练营笔记day16(Linux周期性计划任务、Python)
Linux云计算训练营笔记day16(Linux周期性计划任务、Python) 目录 Linux云计算训练营笔记day16(Linux周期性计划任务、Python)1.Linux 周期性计划任务2.Python 1.Linux 周期性计划任务 周期性计划任务 用途: 按照设置的时间间隔,为…...
对比Redis与向量数据库(如Milvus)在AI中的应用
对比Redis与向量数据库(如Milvus)在AI中的应用 在AI架构中,缓存系统的设计直接影响响应速度、资源成本以及推理路径是否高效。而面对不同的AI业务诉求,选用什么类型的缓存系统、如何搭配,往往是系统架构设计中必须深入…...

【Elasticsearch入门到落地】13、DSL查询详解:分类、语法与实战场景
接上篇《12、索引库删除判断以及文档增删改查》 上一篇我们讲解了如何判断索引库是否存在并删除它,以及如何对索引库中的文档进行增删改查操作。本篇我们进入ElasticSearch的DSL语法的详解。 Elasticsearch(ES)作为强大的分布式搜索引擎&…...

[欠拟合过拟合]机器学习-part10
7.欠拟合过拟合 7.1欠拟合 欠拟合是指模型在训练数据上表现不佳,同时在新的未见过的数据上也表现不佳。这通常发生在模型过于简单,或者是训练的次数不够,无法捕捉数据中的复杂模式时。欠拟合模型的表现特征如下: 训练误差较高。 …...

【windwos】文本编辑器Notepad++ 替代品Notepad--
一、N和N--对比介绍 曾经备受推崇的「Notepad」曾是Windows上的经典代码编辑器。然而,作者的一些政治言论已经让它被广大中国用户抛弃。 一个名为「Notepad--」的新编辑器,也是开源免费,功能和实用性也在尽可能接近。与此同时,「N…...

Linux基本指令篇 —— clear指令
clear 是 Linux 和 Unix 系统中用于清空终端屏幕的常用命令。它的作用是移除当前终端窗口中的所有可见内容,提供一个干净的界面,类似于“刷新”终端。以下是关于 clear 的详细解析: 目录 1. 基本用法 2. 实现原理 3. 常见场景 场景 1&…...
Anaconda 的基础教程,从入门到精通
以下是Anaconda的基础教程,从入门到精通: 一、Anaconda简介 Anaconda是一个用于科学计算的Python/R发行版,集成了1000+常用数据科学包,提供环境管理功能,解决包依赖冲突问题。适合数据科学、机器学习、深度学习等领域。 二、安装与配置 1. 下载与安装 官网下载:Anaco…...

阿里云DDoS防护:万一被“黑”了,如何更换IP地址?
阿里云DDoS防护:万一被“黑”了,如何更换IP地址“绝地反击”? 各位站长、运维老铁、业务负责人们,大家好!在如今这个网络世界,最让人提心吊胆的,莫过于遭遇**DDoS攻击(分布式拒绝服…...