1、time模块(时间模块)
print(time.time()) 1585027609.437495 (时间戳表示的是从1970年1月1日0:00开始按秒计算的偏移量)
print(time.asctime()) Tue Mar 24 13:26:49 2020 (星期 月份 日期 时间 年份)
print(time.gmtime())和time.localtime() 一样效果
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=24, tm_hour=5, tm_min=26, tm_sec=49, tm_wday=1, tm_yday=84, tm_isdst=0)
print(time.strftime('%Y/%m/%d %H:%M:%S')) 2020/03/24 13:26:49
中间的/和:符号可以换成其他的 Y年 m是月份 d天 H小时 M分 S秒
2、datetime(相比于time,datetime模块的接口则更加直观,更容易调用)
2、random模块(随机数模块)
print(random.random())#返回0到1之间的任意一个小数
print(random.uniform(1,3)) #返回指定区域(1到3)的任意一个浮点数
print(random.randint(1,5)) #返回1到5之间的任意一个整数
print(random.randrange(10)) #返回0到10 之间任意的一个整数
print(random.choice('ceshi')) #返回字符串中的任意一个元素
print(random.sample('cehishggj',3)) #以列表的形式返回指定个数的任意元素
chr()方法:将十进制数转化为基础字符 chr(65) 'A' ord('A') 65
ord():将字符转化为十进制数
a=list(range(100))
random.shuffle(a) 洗牌效果
print(a)
3、OS模块 (Python调用系统动作的接口)
print(os.getcwd()) F:PycharmProjectsoldboy标准库 #查看当前所在路径
print(os.listdir(os.getcwd)) ['1.py', 'ku.py'] #列举目录下的所有文件,返回列表类型
print(os.path.abspath('.'))F:PycharmProjectsoldboy标准库 #返回PATH绝对路径
print(os.path.abspath('..'))F:PycharmProjectsoldboy #返回PATH父目录
print(os.curdir) . #返回当前目录
print(os.pardir) .. #返回父级目录
os.makedirs('F:PycharmProjectsoldboy标准库ssceshi') #递归创建目录
os.removedirs('F:PycharmProjectsoldboy标准库ssceshi') #递归删除空目录,若非空,则停止删除
os.mkdir('aaaa') #当前目录创建目录aaaa
os.rmdir('aaaa') #删除单个非空目录
os.remove() #删除单个文件
os.rename("oldname","newname") # 重命名文件与目录
4、sys模块(对Python解释器的操作)
print(sys.argv) # 以列表的形式返回文件的绝对路径和所传的参数
print(sys.argv[0]) # 返回当前文件的绝对路径
print(sys.argv[1]) # 返回传入当前文件的第一个参数
sys.exit() # 退出程序
sys.path # 返回模块路径的环境变量
print(sys.platform) # 返回操作系统的名称
5、string
string.digits 显示所有数字
string.ascii_letters显示所有字母
string.ascii_lowercase 显示所有小写字母
print("".join(random.sample(string.digits + string.ascii_letters,5))) 获取5位随机的验证码
6、pickle与json
dumps 生成序列化的字符串
loads 把序列化的字符串反向解析
dump 写入文件
load 从文件加载出来
pickle 只支持Python,支持py里面所有类型
json 所有语言都支持,只支持常见类型str int dict set list tuple
a={
'name':'alex',
'role':'police',
'blood':'78',
'weapon':'AK47'
}
alive_players=['xiaoming','小华','jack']
d_dumps=pickle.dumps(a) #序列化(序列成为bytes类型数据)
print(pickle.loads(d_dumps)) #反序列化
g=open('fan_pkl','wb')
pickle.dump(a,g)
pickle.dump(alive_players,g)
加载
g =open('fan_pkl','rb')
a = pickle.load(g)
print(pickle.load(g))
json操作和pickle一样,唯一不同的是json只能序列化一次,要是多次只能放在不同文件
而且不用b
7.hashlib
MD5:加密速度快
SHA:加密功能强大,长度长,不易破解,目前主流的是SHA-256
正常网站密码用SHA加密后,网站会通过加盐的方式,第二次进行封装,这样不易破解
m = hashlib.md5() #md5加密的对象
m.update(b'hello ceshi') 或者m.update('hello ceshi'.encode(utf-8))
因为hello ceshi为字符需要编码为bytes字节类型
如果加密的对象是中文内容 必须使用.encode('编码方式')
print(m.hexdigest()) #消化 生成密码的密码
SHA-256使用方法和MD5一样
字节要是转换为字符串必须要解码(decode)
字母串要是转换为字节必须编码(encode)
8、