总结常用模块中的方法
1.math模块
dir(math) - 查看math模块中的内容
import math
num = 0
for method in dir(math):
num += 1
print(method, end=' ')
if num % 5 == 0:
print()
"""
__doc__ __loader__ __name__ __package__ __spec__
acos acosh asin asinh atan
atan2 atanh ceil copysign cos
cosh degrees e erf erfc
exp expm1 fabs factorial floor
fmod frexp fsum gamma gcd
hypot inf isclose isfinite isinf
isnan ldexp lgamma log log10
log1p log2 modf nan pi
pow radians remainder sin sinh
sqrt tan tanh tau trunc
"""
对应的函数用法如下:
2.time模块
time 提供的功能更加接近于操作系统层面,其所能表述的日期范围被限定在 1970 - 2038 之间
常用方法如下:
# time.time() 返回当前时间的时间戳 secs
# time.localtime([secs]) 接收时间戳,返回指定时间戳的当地时间的时间元组,参数留空,返回当地时间的当前时间元组
# time.gmtime() 接收时间戳,返回格林威治天文时间下的时间元组。
# time.asctime([tupletime]) 接受时间元组并返回一个可读的形式为”Tue Dec 11 18:07:14 2008”(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
# time.strftime(srt_format[,tupletime]) 接收时间元组,返回当地时间,第一个参数是一个字符串形式的格式化字符
# time.sleep(secs) 休眠,时间暂停指定的秒数
3. os.path模块
主要用于获取文件的属性
# os.path.abspath(path) 返回绝对路径
# os.path.basename(path) 返回文件名
# os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径
# os.path.dirname(path) 返回文件路径
# os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
# os.path.lexists 路径存在则返回True,路径损坏也返回True
# os.path.expanduser(path) 把path中包含的"~"和"~user"转换成用户目录
# os.path.expandvars(path) 根据环境变量的值替换path中包含的"$name"和"${name}"
# os.path.getatime(path) 返回最近访问时间(浮点型秒数)
# os.path.getmtime(path) 返回最近文件修改时间
# os.path.getctime(path) 返回文件 path 创建时间
# os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误
# os.path.isabs(path) 判断是否为绝对路径
# os.path.isfile(path) 判断路径是否为文件
# os.path.isdir(path) 判断路径是否为目录
# os.path.islink(path) 判断路径是否为链接
# os.path.ismount(path) 判断路径是否为挂载点
# os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径
# os.path.normcase(path) 转换path的大小写和斜杠
# os.path.normpath(path) 规范path字符串形式
# os.path.realpath(path) 返回path的真实路径
# os.path.relpath(path[, start]) 从start开始计算相对路径
# os.path.samefile(path1, path2) 判断目录或文件是否相同
# os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件
# os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件
# os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组
# os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组
# os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组
# os.path.splitunc(path) 把路径分割为加载点与文件
"""
os.path.walk(path, visit, arg)
遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),
dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
"""
# os.path.supports_unicode_filenames 设置是否支持unicode路径名
4.sys模块
sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境
# sys.argv 接收命令行参数,生成一个List,第一个元素是程序本身路径
# sys.modules.keys() 返回所有已经导入的模块列表
# sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
# sys.exit(n) 退出程序,正常退出时exit(0)
# sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
# sys.version 获取Python解释程序的版本信息
# sys.maxint 最大的Int值
# sys.maxunicode 最大的Unicode值
# sys.modules 返回系统导入的模块字段,key是模块名,value是模块
# sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform 返回操作系统平台名称
# sys.stdout 标准输出
# sys.stdin 标准输入
# sys.stderr 错误输出
# sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息
# sys.exec_prefix 返回平台独立的python文件安装的位置
# sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
# sys.copyright 记录python版权相关的东西
# sys.api_version 解释器的C的API版本
5.hashlib模块
hashlib模块代替了Python2中的md5和sham模块,使用这个模块一般分为3步
1.创建一个哈希对象,使用哈希算法命名的构造函数或通用构造函数hashlib.new(name[, data])
2.使用哈希对象调用update()方法填充这个对象
3.调用digest() 或 hexdigest()方法来获取摘要(加密结果)
注:
1.update()方法需要接收的参数是一个字节对象(字节字符串,如:b"Hello,World!")
2.常用的一些算法主要有: SHA1, SHA224, SHA256, SHA384, SHA512, MD5等算法
3.SHA1算法比较早,是不能抵抗暴力破解的
# h.update(arg) 将字节对象arg填充到哈希对象中,arg通常为要加密的字符串
# h.digest() 返回加密结果,它是一个字节对象,长度为 h.digest_size,包含的字节范围 0 ~ 255
# h.hexdigest() 返回加密结果,它是一个字符串对象,长度为 h.digest_size * 2,只包含16进制数字
6.calender模块
calendar模块与日历相关
常用方法如下:
# calendar.calendar(year, w=2, l=1, c=6) 打印某年某月,w=2, l=1, c=6: 都是字符或行间隔设置。
# calendar.calendar: 返回某年的日历表.
# calendar.firstweekday(): 返回当前每周起始日期的设置. 默认情况下, 返回0即周一.
# calendar.isleap: 判断某年是否为闰年, 返回bool.
# calendar.leapdays: 返回指定年份范围内闰年的总数, 左闭右开性质.
# calendar.month(year, month, w=2, l=1): 返回指定月份的日历表, w,l 表示间隔.
# calendar.monthcalendar: 指定月份, 返回该月每周的日期号, 以嵌套的列表形式显示.
# calendar.monthrange: 指定月份, 返回tuple的两个数, 第一个表示该月第一天是周几, 第二个表示该月有多少天.
# calendar.setfirstweekday: 将每周的起始序号改为指定数值. 原为0开始.
# calendar.weekday: 返回指定年月日的星期码即周几.