python拥有强大的标准库,常见的python标准库
操作系统接口
操作系统模块提供了大量与操作系统交互的功能:
进口货
Os.getcwd()#返回当前工作路径
C:\\Python37
OS . chdir(/server/access logs )#更改当前工作路径
Os.system(mkdirtoday)#调用系统shell附带的mkdir命令。
0请确保使用导入操作系统,而不是从操作系统导入*。第二种方法会导致os.open()覆盖系统自带的open()函数,而且这两个函数的作用差别很大。
在使用大型模块(如操作系统)时,内置的dir()和help()函数是非常有用的交互工具:
进口货
总监(操作系统)
返回包含os模块所有函数的列表。
帮助(操作系统)
返回从os模块docstring生成的手册。对于日常文件或目录管理任务,shutil模块提供了一个更高级别的接口,使用户更容易使用:
importshutil
shutil.copyfile(data.db , archive.db )
archive.db
shutil . move(/build/executables , installdir )
install dir 文件通配符
glob模块提供了在目录中进行通配符搜索的功能,以获得文件列表。
importglob
glob.glob(*。py’)
[primes.py , random.py , quote . py ]命令行参数
常见的工具类脚本经常需要处理命令行参数。这些参数存储在sys模块的argv属性中,并以列表形式存在。例如,以下是在命令行上运行python demo.py one two three的结果输出:
importsys
打印(sys.argv)
[demo.py , one , two , three ]getopt模块使用Unix约定的getopt()函数处理sys.argv More模块提供了更强大、更灵活的命令行处理。
错误输出重定向和退出程序
Sys模块具有stdin、stdout和stderr属性。后者在处理警告和错误消息时非常有用。即使stdout被重定向,您仍然可以看到错误消息:
sys.stderr.write(Warning,logfilenoftfoundstartinganevone \ n )
警告,logfilenotfoundstartinganewon
e退出程序最直接的方法是用sys.exit()。
字符串匹配
re 模块为字符串的进阶处理提供了正则表达式的工具。对于复杂的匹配操作,正则表达式给出了简洁有效的解决方案:
>>>importre当只需要简单的功能时,采用字符串的方法更简洁易懂:>>>re.findall(r'\bf[a-z]*','whichfootorhandfellfastest')
['foot','fell','fastest']
>>>re.sub(r'(\b[a-z]+)\1',r'\1','catinthethehat')
'catinthehat'
>>>'teafortoo'.replace('too','two')数学库'teafortwo'
math 模块可以访问 C 语言编写的浮点类型数学库函数:
>>>importmathrandom模块提供了进行随机选择的工具:>>>math.cos(math.pi/4)0.70710678118654757
>>>math.log(1024,2)10.0
>>>importrandom网络请求>>>random.choice(['apple','pear','banana'])
'apple'
>>>random.sample(range(100),10)#不重复抽样
[30,83,16,4,8,81,41,50,18,33]
>>>random.random()#随机的float类型输出
0.17970987693706186
>>>random.randrange(6)#从range(6)的返回范围内产生随机数
4
有一大堆模块可以访问网络并根据各自网络协议来处理数据。其中最简单的两个分别是用于从 URL 获取数据的 urllib.request 和用于发送邮件的 smtplib :
>>>fromurllib.requestimporturlopen日期和时间>>>withurlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl')asresponse:
...forlineinresponse:
...line=line.decode('utf-8')#解码.
...if'EST'inlineor'EDT'inline:#查看是否是EST或EDT时间
...print(line)
<BR>Nov.25,09:43:32PMEST
>>>importsmtplib
>>>server=smtplib.SMTP('localhost')
>>>server.sendmail('soothsayer@example.org','jcaesar@example.org',
..."""To:jcaesar@example.org
...From:soothsayer@example.org
...
...BewaretheIdesofMarch.
...""")
>>>server.quit()
datetime 模块提供了多种用于简单处理和复杂处理日期和时间的类。支持日期时间的运算、时间解析、格式化输出等,实现上重点优化了效率。模块也支持了时区的概念。
>>>#日期对象能非常方便的构建和输出>>>fromdatetimeimportdate
>>>now=date.today()
>>>now
datetime.date(2003,12,2)
>>>now.strftime("%m-%d-%y.%d%b%Yisa%Aonthe%ddayof%B.")
'12-02-03.02Dec2003isaTuesdayonthe02dayofDecember.'
>>>#支持日期运算
>>>birthday=date(1964,7,31)
>>>age=now-birthday
>>>age.days
14368
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。