Python标准库
来源:互联网 发布:云计算概念龙头股 编辑:程序博客网 时间:2024/06/06 08:19
操作系统接口
os模块提供了与操作系统关联的函数
>>> import os>>> os.getcwd()>>> os.chdir('/')>>> os.getcwd()'/'>>> os.system('mk /root/test')sh: mk: command not found32512>>> os.system('mkdir /root/test')0
最好使用import os风格,非from os import * 可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
其中dir()和help()函数很有用,其中dir()列出了所有函数的一个列表,help是大量帮助信息页
对日常的文件和目录管理任务,:mod:shutil模块一个易于使用的高级接口比如复制移动文件:
>>> import shutil>>> shutil.copyfile('2.txt','3.txt')'3.txt'>>> shutil.move('2.txt','4.txt')'4.txt'
文件通配符
glob模块提供了一个函数用于从目录通配符搜索中声称文件列表:
>>> import glob>>> glob.glob('*.py')['fun1.py', 'hello.py', 'fun3.py', '2.py', '1.py']
命令行参数
通用工具脚本经常调用命令行参数,这些命令行参数以链表形式存储于 sys 模块的 argv 变量
>>> import sys>>> print(sys.argv)['']
错误输出重定向和程序终止
sys有stdin,stdout和stderr属性,即使在stdout 被重定向时,后者也可以用于显示警告和错误信息
>>> sys.stderr.write('Warning,log file not found\n') Warning,log file not found27
字符串正则匹配
re模块为高级字符串处理提供了正则表达式工具
>>> import re>>> re.findall(r'f[a-z]*','food,file,abc,fast')['food', 'file', 'fast']>>> re.sub(r'(\b[a-z]+) \1',r'\1','a abc abc def')'abc abc def'>>> re.sub(r'(\b[a-z]+) \1',r'\1','b abc abc def') 'b abc def'
数学
math为浮点运算提供了对底层C函数库的访问,random提供了产生随即数的工具:
>>> import math>>> >>> math.cos(math.pi/4)0.7071067811865476>>> math.log(16,2)4.0>>> >>> import random>>> random.choice(['a','b','c'])'c'>>> random.sample(range(10),10)[4, 7, 9, 6, 3, 8, 0, 5, 2, 1]>>> random.random()0.756815126534027>>> random.randrange(10)3>>> random.randrange(10)
访问互联网
python提供了访问互联网和处理网络通信协议,最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:
比如
>>> from urllib.request import urlopen>>> for line in urlopen('XXX'):... line = line.decode('utf-8') # Decoding the binary data to text.... if 'error' in line or 'warning' in line: # look for Eastern Time... print(line)...>>> import smtplib>>> server = smtplib.SMTP('localhost')>>> server.sendmail('xxx@qq.com', 'xxx1@qq.com',... """To: xxx@qq.com... From: xxx1@qq.com...... ... """)>>> server.quit()
日期和时间
datetime模块提供了日期和时间按处理的方法
>>> from datetime import date>>> now = date.today()>>> nowdatetime.date(2017, 5, 13)>>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")'05-13-17. 13 May 2017 is a Saturday on the 13 day of May.'>>> b = date(1960,1,1)>>> age=now-b>>> age.days20952
数据压缩
支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile
>>> import zlib>>> s = b'my name is china, i like it' >>> len(s)27>>> t=zlib.compress(s)>>> len(t)34>>> zlib.decompress(t)b'my name is china, i like it'>>> zlib.crc32(s)2565214701
性能度量
Python 提供了度量同样问题不同方法的性能测试
>>> from timeit import Timer>>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()0.030256840007496066>>> Timer('a,b = b,a', 'a=1; b=2').timeit()0.06578436600102577
测试模块
高质量软件方法之一是为每个函数开发测试代码,并且开发过程中经常测试。
doctest模块提供了一个工具
0 0
- python -- Python 标准库
- python 标准库库
- Python标准库
- python标准库
- Python标准库
- python 标准库
- python学习标准库
- Python标准库简介
- python学习标准库
- [Python]标准库--inspect
- Python标准库简介
- python标准库学习
- python标准库1
- Python 标准库 urllib2
- python标准库_csv
- Python安装标准库
- Python标准库介绍
- python标准库
- 程序员的养成第二篇
- 根据二叉树的前序和中序建树
- 数据分析京东笔记本电脑
- (7)关卡编辑器之视口的操作
- JAVA语言ArrayList类使用实例详解
- Python标准库
- Node.js中require、exports、module模块的区别
- mongo的基本操作
- 2.3 scrapy的重要组件
- IoC控制反转理解
- SpringMVC对RESTful格式的url支持
- 动态规划入门
- Ubuntu下用终端编译运行c++程序
- JVM调优总结(二)-对象的一些概念