Python3标准库
操作系统接口
os模块提供了不少与操作系统相关联的函数。
>>> import os>>> os.getcwd() # 返回当前的工作目录'C://Python34'>>> os.chdir('/server/accesslogs') # 修改当前的工作目录>>> os.system('mkdir today') # 执行系统命令 mkdir 0
建议使用 "import os" 风格而非 "from os import *"。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
在使用 os 这样的大型模块时内置的 dir() 和 help() 函数非常有用:
>>> import os>>> dir(os)<returns a list of all module functions>>>> help(os)<returns an extensive manual page created from the module's docstrings>
针对日常的文件和目录管理任务,:mod:shutil 模块提供了一个易于使用的高级接口:
>>> import shutil>>> shutil.copyfile('data.db', 'archive.db')>>> shutil.move('/build/executables', 'installdir')
文件通配符
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:
>>> import glob>>> glob.glob('*.py')['primes.py', 'random.py', 'quote.py']
命令行参数
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。例如在命令行中执行 "python demo.py one two three" 后可以得到以下输出结果:
>>> import sys>>> print(sys.argv)['demo.py', 'one', 'two', 'three']
错误输出重定向和程序终止
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
大多脚本的定向终止都使用 "sys.exit()"。
字符串正则匹配
re模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
>>> import re>>> re.findall(r'/bf[a-z]*', 'which foot or hand fell fastest')['foot', 'fell', 'fastest']>>> re.sub(r'(/b[a-z]+) /1', r'/1', 'cat in the the hat')'cat in the hat'
如果只需要简单的功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试:
>>> 'tea for too'.replace('too', 'two')'tea for two'
数学
math模块为浮点运算提供了对底层C函数库的访问:
>>> import math>>> math.cos(math.pi / 4)0.70710678118654757>>> math.log(1024, 2)10.0
新闻热点
疑难解答