Python 常用标准库模块 1

  • 公众号:人生只不过是一场投资
  • 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。

Python 标准库提供了丰富的模块,涵盖了从文件操作、数据处理到网络编程等各个方面。以下是一些常用的标准库模块及其主要功能和方法。

1. os 模块

os 模块提供了与操作系统进行交互的功能,常用场景:

  • 文件和目录操作
  • 获取和设置环境变量
  • 执行系统命令
知识点函数/方法参数说明
获取当前工作目录os.getcwd()无参数
改变当前工作目录os.chdir(path)path:要切换到的目录路径
列出目录内容os.listdir(path)path:要列出的目录路径
创建目录os.mkdir(path)path:要创建的目录路径
删除文件os.remove(path)path:要删除的文件路径
删除目录os.rmdir(path)path:要删除的目录路径
获取环境变量os.getenv(key)key:环境变量的名称
设置环境变量os.putenv(key, value)key:环境变量的名称,value:环境变量的值
执行系统命令os.system(command)command:要执行的系统命令
  • 路径操作os.path 子模块提供了路径操作的功能。
知识点函数/方法参数说明
获取绝对路径os.path.abspath(path)path:相对路径
判断是否为文件os.path.isfile(path)path:要判断的路径
判断是否为目录os.path.isdir(path)path:要判断的路径
获取文件名os.path.basename(path)path:完整路径
获取目录名os.path.dirname(path)path:完整路径

2. sys 模块

sys 模块提供了与Python解释器进行交互的功能。常用场景:

  • 获取命令行参数
  • 操作Python运行时环境
  • 控制Python解释器
知识点函数/方法参数说明
获取命令行参数sys.argv无参数
退出程序sys.exit([arg])arg:退出时的状态码(可选)
获取Python版本sys.version无参数
获取模块搜索路径sys.path无参数
设置默认编码sys.setdefaultencoding(name)name:编码名称(仅限Python 2)
  • 标准输入输出:操作标准输入输出流。
知识点函数/方法参数说明
标准输入sys.stdin无参数
标准输出sys.stdout无参数
标准错误sys.stderr无参数

3. datetime 模块

datetime 模块提供了处理日期和时间的功能。常用场景:

  • 获取当前日期和时间
  • 日期和时间的运算
  • 格式化日期和时间
知识点函数/方法参数说明
获取当前日期和时间datetime.datetime.now()无参数
创建日期对象datetime.date(year, month, day)year:年份,month:月份,day:日期
创建时间对象datetime.time(hour, minute, second)hour:小时,minute:分钟,second:秒
日期加减date + timedelta(days=1)days:天数(可以为负数)
时间加减time + timedelta(hours=1)hours:小时数(可以为负数)
格式化日期和时间datetime.strftime(format)format:格式字符串
解析日期和时间datetime.strptime(date_string, format)date_string:日期字符串,format:格式字符串
  • 时间差计算:计算两个日期或时间之间的差异。
知识点函数/方法参数说明
计算时间差datetime.timedelta(days, seconds, microseconds)days:天数,seconds:秒数,microseconds:微秒数

4. re 模块

re 模块提供了正则表达式操作的功能。常用场景:

  • 字符串匹配
  • 字符串搜索和替换
  • 字符串分割
知识点函数/方法参数说明
编译正则表达式re.compile(pattern)pattern:正则表达式模式
匹配字符串re.match(pattern, string)pattern:正则表达式模式,string:要匹配的字符串
搜索字符串re.search(pattern, string)pattern:正则表达式模式,string:要搜索的字符串
查找所有匹配re.findall(pattern, string)pattern:正则表达式模式,string:要查找的字符串
替换字符串re.sub(pattern, repl, string)pattern:正则表达式模式,repl:替换的字符串,string:要处理的字符串
分割字符串re.split(pattern, string)pattern:正则表达式模式,string:要分割的字符串
  • 正则表达式对象:使用编译后的正则表达式对象进行操作。
知识点函数/方法参数说明
匹配方法pattern.match(string)string:要匹配的字符串
搜索方法pattern.search(string)string:要搜索的字符串
查找所有匹配pattern.findall(string)string:要查找的字符串
替换方法pattern.sub(repl, string)repl:替换的字符串,string:要处理的字符串

5. json 模块

json 模块提供了处理 JSON 数据的功能。常用场景:

  • JSON 数据的编码和解码
  • 读取和写入 JSON 文件
知识点函数/方法参数说明
编码 JSON 数据json.dumps(obj)obj:要编码的对象
解码 JSON 数据json.loads(s)s:要解码的 JSON 字符串
读取 JSON 文件json.load(fp)fp:文件对象
写入 JSON 文件json.dump(obj, fp)obj:要写入的对象,fp:文件对象
  • 格式化 JSON 数据:美化输出 JSON 数据。
知识点函数/方法参数说明
美化输出json.dumps(obj, indent=4)obj:要编码的对象,indent:缩进级别

6. csv 模块

csv 模块提供了处理 CSV 文件的功能。常用场景:

  • 读取和写入 CSV 文件
  • 解析和生成 CSV 数据
知识点函数/方法参数说明
创建 CSV 读对象csv.reader(csvfile)csvfile:文件对象
创建 CSV 写对象csv.writer(csvfile)csvfile:文件对象
读取一行reader.writerow(row)row:要读取的行
写入一行writer.writerow(row)row:要写入的行
知识点函数/方法参数说明
----------------------------------------------------------------------------
写入多行writer.writerows(rows)rows:要写入的多行数据
  • DictReader 和 DictWriter:使用字典形式读取和写入 CSV 文件。
知识点函数/方法参数说明
创建 DictReader 对象csv.DictReader(csvfile)csvfile:文件对象
创建 DictWriter 对象csv.DictWriter(csvfile, fieldnames)csvfile:文件对象,fieldnames:字段名列表
写入表头writer.writeheader()无参数
写入字典行writer.writerow(rowdict)rowdict:要写入的字典行

7. urllib 模块

urllib 模块提供了处理 URL 和 HTTP 请求的功能。常用场景:

  • 发送 HTTP 请求
  • 处理 URL
  • 解析 URL
知识点函数/方法参数说明
发送 GET 请求urllib.request.urlopen(url)url:要请求的 URL
发送 POST 请求urllib.request.Request(url, data)url:要请求的 URL,data:要发送的数据
解析 URLurllib.parse.urlparse(url)url:要解析的 URL
编码 URL 参数urllib.parse.urlencode(params)params:要编码的参数字典
  • 处理 HTTP 响应:读取 HTTP 响应内容。
知识点函数/方法参数说明
读取响应内容response.read()无参数
获取响应状态码response.getcode()无参数

8. math 模块

math 模块提供了常用的数学函数和常量。常用场景:

  • 数学计算
  • 数学常量
知识点函数/方法参数说明
计算平方根math.sqrt(x)x:要计算平方根的数
计算幂math.pow(x, y)x:底数,y:指数
计算对数math.log(x, base)x:真数,base:对数的底(可选)
计算正弦math.sin(x)x:弧度值
计算余弦math.cos(x)x:弧度值
圆周率math.pi无参数
自然常数math.e无参数
  • 其他数学函数:提供更多数学计算功能。
知识点函数/方法参数说明
计算绝对值math.fabs(x)x:要计算绝对值的数
计算阶乘math.factorial(x)x:要计算阶乘的数
计算最大公约数math.gcd(x, y)x:第一个数,y:第二个数

9. random 模块

random 模块提供了生成随机数的功能。常用场景:

  • 生成随机数
  • 随机选择
知识点函数/方法参数说明
生成随机整数random.randint(a, b)a:最小值,b:最大值
生成随机浮点数random.random()无参数
随机选择random.choice(seq)seq:要选择的序列
打乱顺序random.shuffle(seq)seq:要打乱的序列
生成随机样本random.sample(population, k)population:总体,k:样本大小
  • 其他随机数生成方法:提供更多随机数生成功能。
知识点函数/方法参数说明
生成随机种子random.seed(a)a:种子值(可选)
生成随机范围浮点数random.uniform(a, b)a:最小值,b:最大值

10. collections 模块

collections 模块提供了高效的数据结构。常用场景:

  • 高效数据存储和操作
  • 特殊数据结构
知识点函数/方法参数说明
有序字典collections.OrderedDict无参数
默认字典collections.defaultdictdefault_factory:默认值生成函数
计数器collections.Counteriterable:可迭代对象(可选)
双端队列collections.dequeiterable:可迭代对象(可选)
命名元组collections.namedtuple(typename, field_names)typename:类型名,field_names:字段名列表
  • 其他数据结构:提供更多数据结构。
知识点函数/方法参数说明
链接列表collections.ChainMap*maps:字典列表
用户字典collections.UserDictinitialdata:初始数据(可选)
用户列表collections.UserListinitiallist:初始列表(可选)
用户字符串collections.UserStringseq:初始字符串
  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ょ镜花う水月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值