python的内置模块:
- os
- os.path
- sys
- time
- datetime
- hashlib
- base64
- hmac
- random
- math
一、os模块:
- os模块是与操作系统交互的一个接口
- os模块常用方法:
os.cpu_count()---------获取CPU架构
os.chdir(path) ---------- change directory 修改目录
os.curdir ----------------获取当前路径(相对路径)
os.chmod() ------------修改文件权限
os.listdir([path]) ------获取path下的所有文件及文件夹
os.mkdir(path) --------在对应的路径下创建文件夹,注意:只能创建一级
os.makedirs(path) ---在对应的路径下创建文件夹,注意:可以创建多级
os.rename(oldname, newname) -------重命名
os.sep -------------------获取当前系统路径分隔符
os.rmdir(path) ----------删除目录
os.remove(path) ------ 删除文件
二、os.path模块:
- os.path模块是和路径相关的模块
- os.path模块常用方法
os.path.abspath(相对路径)--------求绝对路径
os.path.dirname()------------------- 获取目录
os.path.basename()----------------获取文件名称
os.path.exists()---------------------- 判断路径是否存在
os.path.getsize()---------------------获取文件大小
os.path.isfile()-------------------------判断是否是文件
os.path.isdir()-------------------------判断是否是文件夹
os.path.islink() -----------------------判断路径是否为链接
os.path.ismount()--------------------判断路径是否为挂载点
os.path.join() -------------------------拼接
os.path.split() ------------------------把路径分割成 dirname 和 basename,返回一个元组
三、hashlib模块:
- 加密,散列加密(hash加密)
- 加密分为可逆加密和不可逆加密,可逆加密是根据加密和解密的密钥是否是同一个来判断
- 对称加密和非对称加密属于可逆加密
- 不可逆加密:hash是典型的不可逆加密
MD5加密,shal256加密都属于不可逆加密
- hash加密的方法:
import hashlib
md5 = hashlib.md5("需要加密的数据".encode("utf-8"))
四、time模块:
- time模块的常用方法
asctime() ---------------获取系统当前时间
ctime() ------------------获取系统当前时间
time() --------------------获取当前的时间戳
localtime() --------------返回当前时间,以类似于元组的对象
t = time.localtime()
print("当前时间是%s-%s-%s %s:%s:%s" %(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec))
time.strftime()-----------将时间对象格式化成字符串
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
time.strptime()----------时间字符串转换为时间对象
time.strptime('2019/09/18 21:02:44', "%Y/%m/%d %H:%M:%S")
五、datetime模块:
- datetime常用方法:
datetime.datetime.now()---------获取系统当前时间
六、sys模块:
- sys模块常用方法
sys.argv()-----------------------在Python脚本传参使用(很重要)
sys.exit()----------------------- 系统退出
sys.getdefaultencoding() ---获取系统默认编码
getfilesystemencoding()-----获取文件编码
getrecursionlimit() ------------获取系统默认递归的最大层数
setrecursionlimit(num) ------设置递归的最大层数
getrefcount() -------------------获取对象的引用计数的数
七:base64模块:
- base64模块主要用于base64编码与base64解码
- base64 是以一种任意二进制导字符串的编码方法,常用于在网页中传输少量二进制数据
注意:bas64生成的编码都是ascii码
base64编码或解码都返回的手机字节,需要手动转换成字符
下面演示一下base64的编码与解码
- 编码:
- 解码:
八、hmac模块:
(参考资料:https://blog.csdn.net/salove_y/article/details/79056451)、
- 首先需要准备待计算的原始消息message,随机key, hash算法(主要提供SHA1、SHA224、SHA384、SHA512、MD5算法),这里采用MD5,使用hmac的代码如下:
九、math模块:
用法:math.xxx
- 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的整数部分