设为首页 收藏本站
查看: 2014|回复: 0

[经验分享] Python Tutorial(十):浏览标准库(一)

[复制链接]

尚未签到

发表于 2015-4-21 07:46:58 | 显示全部楼层 |阅读模式
10.1 操作系统接口
  os模块提供很多函数用于和操作系统的交互:
DSC0000.jpg
  确定使用import os风格而不是from os import *。这将避免os.open()被内建的open()函数遮住,它的操作截然不同。
  内建的函数dir()和help()作为交互助手对于大的模块像os是非常有用的:
DSC0001.jpg
  对于日常的文件和目录管理任务,shutil模块提供了一个更高级别的接口,使用起来很简单:
DSC0002.jpg
10.2 文件通配符
  glob模块提供了一个函数可以从目录通配符搜索获得文件列表:
DSC0003.jpg
10.3 命令行参数
  通常的功能脚本经常需要处理命令行参数。这些参数存储在sys模块的argv属性里,是一个列表。例如,下面是从命令行运行python demo.py one two three的输出结果:
DSC0004.jpg
  getopt模块处理sys.argv,使用Unix的getopt()函数的约定。更加强大和灵活的命令行处理由argparse模块提供。
10.4 错误输出重定向和程序终止
  sys模块也有属性stdin,stdout,stderr。后一个对于发出警告和错误消息并使它们可见非常有用,甚至当stdout已经被重定向:
DSC0005.jpg
  最直接的方式来终止一个脚本是使用sys.exit()。
10.5 字符串模式匹配
  re模块提供正则表达式用于高级的字符串处理。对于复杂的匹配和操作,正则表达式提供简洁,优化的解决方案:
DSC0006.jpg
  当只需要简单的功能是,优先使用字符串方法,因为它们易于阅读和调试:
DSC0007.jpg
10.6 数学
  math模块访问底层的C语言库用于浮点数学:
DSC0008.jpg
  random模块提供工具用于随机数选择:
DSC0009.jpg
  SciPy项目有许多其它的模块用于数字运算。
10.7 因特网访问
  有许多模块用于访问因特网和处理因特网协议。最简单的两个是urllib.request用于从URL获取数据和smtplib用于发送邮件:
DSC00010.jpg
10.8 日期和时间
  datetime模块提供一些类用于以简单和复杂的方式操作日期和时间。日期和时间的算术被支持,实现的焦点是关于为输出格式化和操作的有效数字抽取。模块也支持时区意识的对象:
DSC00011.jpg
10.9 数据压缩
  普通的数据存档和压缩格式直接被模块支持的有,zlib,gzip,bz2,lzma,zipfile和tarfile:
DSC00012.jpg
10.10 性能测量
  一些Python用户对同样的问题不同的解决方法的相对表现性能产生了兴趣。Python提供了一个测量工具可以立即来回答这些问题。
  例如,尝试使用元组打包和解包特性而不是传统的方法来交换参数。timeit模块快速地演示一个谦虚性能好处:
DSC00013.jpg
  相对于timeit的很好的粒度级别,profile和pstats模块提供工具用于在大块的代码中标示时间关键部分。
10.11 质量控制
  开发出高质量软件的一个方法是在开发期间为每一个函数写测试,并且在开发过程中经常运行这些测试。
  doctest模块提供一个工具用于扫描一个模块和验证嵌入在一个程序的文档字符串里面的测试。测试构造简单的就是剪切和粘贴一个典型的调用和它的结果到文档字符串里面。这通过给用户提供示例改进了文档,并且它允许doctest模块来确认代码对于文档来说仍然是真的:
DSC00014.jpg
  unittest模块并不是和doctest模块一样容易,但是,它允许一个更加综合的测试集合在一个分离的文件中被维护:
DSC00015.jpg
10.12 包含的框架
  Python有一个“框架包含”哲学。通过它的大部分包的有经验和坚定的能力可以更好的看到这一点。例如:

  • xmlrpc.client和xmlrpc.server模块使远程过程调用实现到一个几乎不重要的任务中。尽管模块名称,没有直接的知识或处理必须的XML。
  • email包是一个库用于管理email消息,包括MIME和其它基于RFC2822的消息文档。不像smtplib和poplib,它们实际发送和接收消息,email包有一个完整的工具集用于构建或解码复杂的消息结构(包括附件)和实现因特网编码和头协议。
  • xml.dom和xml.sax包对解析这种流行的数据交互格式提供坚强的支持。同样地,csv模块支持以普通数据库格式的直接读和写。总之,这些模块和包极大的简化了在Python应用和其它工具之间的数据交互。
  • 国际化通过一些模块被支持,包括gettext,locale和codecs包。
  本文是对官方网站内容的翻译,原文地址:http://docs.python.org/3/tutorial/stdlib.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58999-1-1.html 上篇帖子: 使用python调用weibo api 下篇帖子: [原创]Python/Django使用富文本编辑器XHeditor上传本地图片
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表