先说一下什么是python标准库?
python标准库是随着python安装时自带的库,常用的一些模块。
操作系统接口
- os模块提供的
>>>import os >>>os.getcwd() #返回当前工作的目录 E:\OldboyClass\code\study_code\day41database >>>os.system("cmd") #执行的是命令行 # 会执行括号中的命令,如果命令成功执行,这条语句返回0,否则返回1
- 建议使用 "import os" 风格而非 "from os import *"。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
- 在使用os这种大型模块时,可以使用python内置函数查看模块的具体信息。dir()和help()函数。
>>>import os >>>dir(os) # dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。 >>>help(os) # 用于查看函数或模块用途的详细说明。
文件通配符
glob模块提供了一个函数,用于从目录通配符搜索生成文件列表
python >>>import glob >>>glob.glob("*.txt") #传入文件路径,匹配出文件夹下所有.txt文件
命令行参数
- 通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。例如在命令行中执行 "python demo.py one two three" 后可以得到以下输出结果:
# 在demo.py文件中输入以下代码 >>>import sys >>>print(sys.argv) # 命令行中输入python demo.py one two three #结果 ['demo.py', 'one', 'two', 'three']
字符串正则匹配
re
模块
import re re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') # ['foot', 'fell', 'fastest']
数学
- math模块
>>> import math >>> math.cos(math.pi / 4) 0.70710678118654757 >>> math.log(1024, 2) 10.0
python中math模块常用的方法整理 ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 degrees:把x从弧度转换成角度 e:表示一个常量 exp:返回math.e,也就是2.71828的x次方 expm1:返回math.e的x(其值为2.71828)次方的值减1 fabs:返回x的绝对值 factorial:取x的阶乘的值 floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身 fmod:得到x/y的余数,其值是一个浮点数 frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 fsum:对迭代器里的每个元素进行求和操作 gcd:返回x和y的最大公约数 hypot:如果x是不是无穷大的数字,则返回True,否则返回False isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回False isinf:如果x是正无穷大或负无穷大,则返回True,否则返回False isnan:如果x不是数字True,否则返回False ldexp:返回x*(2**i)的值 log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base) log10:返回x的以10为底的对数 log1p:返回x+1的自然对数(基数为e)的值 log2:返回x的基2对数 modf:返回由x的小数部分和整数部分组成的元组 pi:数字常量,圆周率 pow:返回x的y次方,即x**y radians:把角度x转换成弧度 sin:求x(x为弧度)的正弦值 sqrt:求x的平方根 tan:返回x(x为弧度)的正切值 trunc:返回x的整数部分
- random模块
>>> import random >>> random.choice(['apple', 'pear', 'banana']) # 随机选择一个 'apple' >>> random.sample(range(100), 10) # 0-99随机十个数 [30, 83, 16, 4, 8, 81, 41, 50, 18, 33] >>> random.random() # random float 0.17970987693706186 >>> random.randrange(6) # random integer chosen from range(6) 4
时间和日期
- time模块
- datetime模块
>>> # dates are easily constructed and formatted >>> from datetime import date >>> now = date.today() >>> now datetime.date(2003, 12, 2) >>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.") '12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.' >>> # dates support calendar arithmetic >>> birthday = date(1964, 7, 31) >>> age = now - birthday >>> age.days 14368