博客
关于我
Python 标准库
阅读量:394 次
发布时间:2019-03-05

本文共 1574 字,大约阅读时间需要 5 分钟。

Python丰富而强大遍历的标准库是其最突出的优点之一.

这里当然不可能说明所有的标准库, 本文只简单列出一些标准库的使用, 还有一部分在其它博文中说明:

操作系统环境os

建议使用 import os 风格而非 from os import *。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()

在使用 os 这样的大型模块时内置的 dir()help() 函数非常有用。

命令行参数sys

通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。

sys 还有 stdin,stdout 和 stderr 属性,即使在 stdout 被重定向时,后者也可以用于显示警告和错误信息。

>>> sys.stderr.write('Warning, log file not found starting a new one\n')Warning, log file not found starting a new one

数学math

数据压缩zlib

以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile。

>>> import zlib>>> s = b'witch which has which witches wrist watch'>>> len(s)41>>> t = zlib.compress(s)>>> len(t)37>>> zlib.decompress(t)b'witch which has which witches wrist watch'>>> zlib.crc32(s)226805979

性能测试timeit

>>> from timeit import Timer>>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()0.57535828626024577>>> Timer('a,b = b,a', 'a=1; b=2').timeit()0.54962537085770791

文件通配符glob

glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:

>>> import glob>>> glob.glob('*.py')['primes.py', 'random.py', 'quote.py']

高精度小数 decimal

decmial模块可以提供制定精度的小数运算,使用前需要>>>import decmial。decmial对象由构造函数decmial.Decmial()根据一个int或字符串参数建立。Python3.5中decmial.Decmial()可以根据float建立对象,但那是不精确的。

>>>decimal.Decimal(1)Decimal('1')>>>decimal.Decimal("1.2")Decimal('1.2')

math与cmath库中的数学函数对decimal不适用,但decimal自身提供了一系列数学函数。

>>> x = decimal.Decimal(2)>>> x.exp()Decimal('7.389056098930650227230427461')>>> decimal.Decimal.exp(x)Decimal('7.389056098930650227230427461')

对象序列化pickle

Python的pickle模块实现了基本的数据序列和反序列化。

序列化:
import pickle
pickle.dump(obj, file, [,protocol])

反序列化:

obj = pickle.load(file)

转载地址:http://noqzz.baihongyu.com/

你可能感兴趣的文章
比技术还重要的事
查看>>
linux线程调度策略
查看>>
软中断和实时性
查看>>
Linux探测工具BCC(可观测性)
查看>>
Opentelemetry Metrics SDK
查看>>
流量控制--2.传统的流量控制元素
查看>>
SNMP介绍及使用,超有用,建议收藏!
查看>>
SDUT2161:Simple Game(NIM博弈+巴什博弈)
查看>>
51nod 1596 搬货物(二进制处理)
查看>>
来自星星的祝福(容斥+排列组合)
查看>>
Hmz 的女装(递推)
查看>>
HDU5589:Tree(莫队+01字典树)
查看>>
Codeforces Round #459 (Div. 2):D. MADMAX(记忆化搜索+博弈论)
查看>>
不停机替换线上代码? 你没听错,Arthas它能做到
查看>>
sharding-jdbc 分库分表的 4种分片策略,还蛮简单的
查看>>
分库分表的 9种分布式主键ID 生成方案,挺全乎的
查看>>
MySQL不会丢失数据的秘密,就藏在它的 7种日志里
查看>>
Python开发之序列化与反序列化:pickle、json模块使用详解
查看>>
回顾-生成 vs 判别模型-和图
查看>>
采坑 - 字符串的 "" 与 pd.isnull()
查看>>