Python 教程阅读笔记(九):标准库一瞥

操作系统接口:

os模块提供了许多与操作系统交互的函数如:

import os  //请不要使用from os import *,这样会改变像open这样的函数的用法

os.getcmd()

os.dir(‘’)

os.system(‘’)

dir(os)

help(os)

 

对于日常文件盒目录管理任务,shutil模块提供了更高阶更易于用的接口

import shutil

shutil.copyfile('data.db', 'archive.db')

shutil.move('/build/executables', 'installdir')

 

glob 模块提供了一个函数来进行目录通配符搜索生成文件目录的功能

import glob

glob.glob(‘*.py’)

 

命令行参数通常以列表形式被保存在sys模块中的argv属性中

import sys

print(sys.argv)

 

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

stderr在stdout被重定向后发出可见的告警和错误信息时是很有用的。

 

最直接的方式终止一个脚本是使用sys.exit()函数

 

re模块提供了一个正则表达式攻击来进行高级字符串处理。对于复杂的匹配和操作,正则表达式提供了简明,优化的解决方案。

如果只是简单的操作,字符串方法就足够了,因为更容易阅读和调试

 

math模块提供了使用C库函数来处理浮点算术的途径

random模块提供了进行随机选择的工具

 

有大量的模块用来访问互联网和处理互联网协议。两个最简单的为:urlib.request 来从urls获取数据 smtplib来发送邮件

>>> from urllib.request import urlopen

>>> for line in urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'):

...       line = line.decode('utf-8') # Decoding the binary data to text.

...       if 'EST' in line or 'EDT' in line: # look for Eastern Time

...          print(line)

<BR>Nov. 25, 09:43:32 PM EST

 

>>> import smtplib

>>> server = smtplib.SMTP('localhost')

>>> server.sendmail('soothsayer@example.org', 'jcaesar@example.org',

... """To: jcaesar@example.org

... From: soothsayer@example.org

...

... Beware the Ides of March.

... """)

>>> server.quit()

 

datetime模块提供了类来以简单或复杂的方式操作日期和时间。当日期和时间算术被支持后,实现的重点就在有效的成员提起,用来格式输出和进行操作。该模块也支持那些对时区敏感的对象。

 

常用的数据打包和压缩方式由:zlib,gzip,bz2,zipfile和tarfile直接支持。

 

python也提供了模块来完成性能度量工作。timeit模块可以用来完成细粒度的度量,profile和pstats模块提供了工具来识别代码中的耗时区域。

 

doctest模块提供方法来扫描模块并对嵌在程序docstrings中的测试代码进行验证。测试构建就是把调用的代码和结果粘贴到docstrings中,这不仅提供给用户一个示例,也使得doctest模块确保了代码运行正确。

 

unittest模块允许更复杂的测试集能够在独立的文件中被维护。

 

xmlrpc.client和xmlrpc.server模块使得实现远程过程调用十分简单。

email包提供了管理email消息包括MIME和其他基于RFC 2822消息文档的功能

xml.dom和xml.sax包提供了解析XML这种流行的数据交换格式的功能

csv提供了以通用数据库格式直接读写的支持

国际化支持由gettex,locale和codecs包支持。

posted @ 2012-05-20 22:12  Orcus  阅读(194)  评论(0编辑  收藏  举报