百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

python 进阶突破——内置模块(Standard Library)

csdh11 2025-04-28 23:59 12 浏览

Python 提供了丰富的内置模块(Standard Library),无需安装即可直接使用。以下是一些常用的内置模块及其主要功能:


1. 文件与系统操作

  • os:操作系统交互
import os
os.getcwd()       # 当前工作目录
os.listdir()      # 列出目录内容
os.path.join()    # 拼接路径

sys:Python 解释器相关

import sys
sys.argv          # 命令行参数
sys.exit()        # 退出程序
sys.path          # Python 模块搜索路径

pathlib(Python 3.4+):面向对象的路径操作

from pathlib import Path
Path('file.txt').read_text()  # 读取文件

shutil:高级文件操作(复制、移动、压缩等)

shutil.copy('src.txt', 'dst.txt')

2. 日期与时间

  • datetime:日期和时间处理
from datetime import datetime
datetime.now()                # 当前时间
datetime.strptime()           # 字符串转时间

time:时间相关函数

import time
time.sleep(1)      # 休眠
time.time()         # 时间戳

3. 数据序列化与格式

  • json:JSON 编码/解码
import json
json.dumps({'a': 1})   # 字典转JSON字符串
json.loads('{"a": 1}') # JSON字符串转字典

pickle:Python 对象序列化(二进制格式)

pickle.dumps(obj)  # 对象转字节
pickle.loads(data) # 字节转对象

4. 数学与随机数

  • math:数学函数
import math
math.sqrt(4)      # 平方根
math.pi           # 圆周率

random:随机数生成

import random
random.randint(1, 10)  # 1~10的随机整数
random.choice(list)    # 随机选择元素

5. 网络与请求

  • urllib.request:HTTP 请求
from urllib.request import urlopen
response = urlopen('https://www.python.org')

socket:底层网络通信

import socket
socket.gethostbyname('python.org')  # DNS解析

6. 多线程与多进程

  • threading:多线程
import threading
thread = threading.Thread(target=func)
thread.start()

multiprocessing:多进程

from multiprocessing import Process
p = Process(target=func)
p.start()

7. 数据压缩与归档

  • zipfile:ZIP 文件处理
from zipfile import ZipFile
with ZipFile('archive.zip', 'r') as z:
    z.extractall()

gzip:GZIP 压缩

import gzip
with gzip.open('file.gz', 'rb') as f:
    data = f.read()

8. 调试与测试

  • logging:日志记录
import logging
logging.basicConfig(level=logging.INFO)
logging.info('This is a log message.')

unittest:单元测试框架

import unittest
class TestExample(unittest.TestCase):
    def test_add(self):
        self.assertEqual(1 + 1, 2)

9. 其他实用模块

  • re:正则表达式
import re
re.findall(r'\d+', '123 abc')  # 匹配数字

collections:扩展数据结构

from collections import defaultdict, Counter
Counter(['a', 'b', 'a'])  # 计数统计

itertools:迭代器工具

from itertools import permutations
list(permutations('ABC', 2))  # 排列组合

argparse:命令行参数解析

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--input', help='Input file')
args = parser.parse_args()

些内置模块覆盖了文件操作、系统交互、数据处理、网络通信等常见需求。根据实际场景选择合适的模块可以大幅提升开发效率。

相关推荐

Github霸榜的SpringBoot全套学习教程,从入门到实战,内容超详细

前言...

SpringBoot+LayUI后台管理系统开发脚手架

源码获取方式:关注,转发之后私信回复【源码】即可免费获取到!项目简介本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(springboot-mini),能满足大部分后台管理系统基础开...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础...

探秘Spring Cache:让Java应用飞起来的秘密武器

探秘SpringCache:让Java应用飞起来的秘密武器在当今快节奏的软件开发环境中,性能优化显得尤为重要。SpringCache作为Spring框架的一部分,为我们提供了强大的缓存管理能力,让...

3,从零开始搭建SSHM开发框架(集成Spring MVC)

目录本专题博客已共享在(这个可能会更新的稍微一些)https://code.csdn.net/yangwei19680827/maven_sshm_blog...

Spring Boot中如何使用缓存?超简单

SpringBoot中的缓存可以减少从数据库重复获取数据或执行昂贵计算的需要,从而显著提高应用程序的性能。SpringBoot提供了与各种缓存提供程序的集成,您可以在应用程序中轻松配置和使用缓...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

1,从零开始搭建SSHM开发框架(环境准备)

目录本专题博客已共享在https://code.csdn.net/yangwei19680827/maven_sshm_blog1,从零开始搭建SSHM开发框架(环境准备)...

做一个适合二次开发的低代码平台,把程序员从curd中解脱出来-1

干程序员也有好长时间了,大多数时间都是在做curd。现在想做一个通用的curd平台直接将我们解放出来;把核心放在业务处理中。用过代码生成器,在数据表设计好之后使用它就可以生成需要的controller...

设计一个高性能Java Web框架(java做网站的框架)

设计一个高性能JavaWeb框架在当今互联网高速发展的时代,构建高性能的JavaWeb框架对于提升用户体验至关重要。本文将从多个角度探讨如何设计这样一个框架,让我们一起进入这段充满挑战和乐趣的旅程...

【推荐】强&牛!一款开源免费的功能强大的代码生成器系统!

今天,给大家推荐一个代码生成器系统项目,这个项目目前收获了5.3KStar,个人觉得不错,值得拿出来和大家分享下。这是我目前见过最好的代码生成器系统项目。功能完整,代码结构清晰。...

Java面试题及答案总结(2025版持续更新)

大家好,我是Java面试分享最近很多小伙伴在忙着找工作,给大家整理了一份非常全面的Java面试场景题及答案。...

Java开发网站架构演变过程-从单体应用到微服务架构详解

Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构、集群架构、分布式架构、SOA架构和微服务架构。下面玄武老师来给大家详细介绍下这5种架构模式的发展背景、各自优缺点以及涉及到的...

本地缓存GuavaCache(一)(guava本地缓存原理)

在并发量、吞吐量越来越大的情况下往往是离不开缓存的,使用缓存能减轻数据库的压力,临时存储数据。根据不同的场景选择不同的缓存,分布式缓存有Redis,Memcached、Tair、EVCache、Aer...