超详细的Python标准库介绍与基本使用方式!
趁着刚吃完饭偷个闲,写一篇关于Python标准库的详细操作,很简单的!
目录:
Python 标准库概览概览
操作系统接口
os 模块提供了很多与操作系统交互的函数:
应该用 import os 风格而非 from os import *。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
在使用一些像 os 这样的大型模块时内置的 dir() 和 help() 函数非常有用:
针对日常的文件和目录管理任务,shutil 模块提供了一个易于使用的高级接口:
glob 模块提供了一个函数用于从目录通配符搜索中生成文件列表:
>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']
命令行参数 x
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。例如在命令行中执行 python demo.py one two three 后可以得到以下输出结果:
getopt 模块使用 Unix getopt() 函数处理 sys.argv。更多的复杂命令行处理由 argparse 模块提供。
错误输出重定向和程序终止
sys 还有 stdin, stdout 和 stderr 属性,即使在 stdout 被重定向时,后者也可以用于显示警告和错误信息:
>>> sys.stderr.write('Warning, log file not found starting a new one ')
Warning, log file not found starting a new one12
大多脚本的直接终止都使用 sys.exit()。
字符串正则匹配
re 模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
只需简单的操作时,字符串方法最好用,因为它们易读,又容易调试:
>>> 'tea for too'.replace('too', 'two')
'tea for two'
数学
math 模块为浮点运算提供了对底层C函数库的访问:
>>> import math
>>> math.cos(math.pi / 4.0)
0.70710678118654757
>>> math.log(1024, 2)
10.0
random 提供了生成随机数的工具:
互联网访问
有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:
(注意第二个例子需要在 localhost 运行一个邮件服务器。)
日期和时间
datetime 模块为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。该模块还支持时区处理。
数据压缩
以下模块直接支持通用的数据打包和压缩格式:zlib, gzip, bz2, lzma, zipfile 以及 tarfile。
性能度量
有些用户对了解解决同一问题的不同方法之间的性能差异很感兴趣。Python 提供了一个度量工具,为这些问题提供了直接答案。
例如,使用元组封装和拆封来交换元素看起来要比使用传统的方法要诱人的多。timeit 证明了后者更快一些:
相对于 timeit 的细粒度,profile 和 pstats 模块提供了针对更大代码块的时间度量工具。
质量控制
开发高质量软件的方法之一是为每一个函数开发测试代码,并且在开发过程中经常进行测试。
doctest 模块提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试。测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中。通过用户提供的例子,它发展了文档,允许 doctest 模块确认代码的结果是否与文档一致:
unittest 模块不像 doctest 模块那么容易使用,不过它可以在一个独立的文件里提供一个更全面的测试集:
“瑞士军刀”
Python 展现了“瑞士军刀”的哲学。这可以通过它更大的包的高级和健壮的功能来得到最好的展现。列如:
好了,小编今天就分享到这,小伙伴们赶紧 去自己敲代码试试吧!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NDK基础之Android.mk基础
Android NDK官方介绍Android Developers NDK 指南 1、 Android.mk介绍 用于向构建系统描述源文件和共享库 1.1 定义 Application.mk; 1.2 构建系统和环境变量所未定义的项目范围设置; 1.3 替换特定模块的项目范围设置。 2、 Android.mk基本写法 2.1 首先定义LOCAL_PATH变量 在这里,构建系统提供的红函数my-dir将范湖当前目录(包含Android.mk所在目录) LOCAL_PATH := $(call my-dir) 2.2 接着声明CLEAR_VARS变量 CLEAR_VARS变量指向特殊GNU Makefile,可为您清除许多LOCAL_XXX变量 注意:它不会清除LOCAL_PATH变量,此变量必须保留其值,因为系统在单一GNU Make执行环境(其中所有变量都是全局变量)解析所有构建控制文件,在描述每个模块之前,必须声明(重新声明)此变量 include $(CLEAR_VARS) 2.3 LOCAL_MODULE变量将存储您要构建的模块名称 XXX代表你要生成的库文件的名称 在生成过程中...
- 下一篇
对Python感兴趣或是刚刚接触python,一定要知道的30个小技巧!
1. 原地进行交换两个数字 我们对赋值的右侧进行一个新的元组,左侧解析(unpack)那个(未被引用的)元组到变量 <a> 和 <b> 赋值完成时,新的元组变成了未被引用状态并且被标记没用处,最终完成了变量的交换 2. 链状比较操作符 3. 使用三元操作符来进行条件赋值 4. 多行字符串 5. 存储列表元素到新的变量中 6. 打印引入模块的文件路径 7. 交互环境下的 “_” 操作符 8. 字典/集合推导 9. 调试脚本 10. 开启文件分享 11. 检查 Python 中的对象 12. 简化 if 语句 13. 运行时检测 Python 版本 14. 组合多个字符串 15. 四种翻转字符串/列表的方式 16. 玩转枚举 17. 在 Python 中使用枚举量 18. 从方法中返回多个值 19. 使用 * 运算符(splat operator)来 unpack 函数参数 20. 使用字典来存储选择操作 21. 一行代码计算任何数的阶乘 22. 找到列表中出现最频繁的数 23. 重置递归限制 24. 检查一个对象的内存使用 Python 2.7 一个 32 比特的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16