python-系统自身常用的sys、time、datetime、random、hashlib模块(自我总结)

  • sys模块
  • time模块
  • datetime模块
  • random模块
  • hashlib模块

1.sys模块

sys.path
sys.version
sys.argv
path
模块的搜索路径
方法:sys.path
返回值:list
例如:print(sys.path)
 >>> ['', 'D:\\python3.5.2\\python35.zip', 'D:\\python3.5.2\\DLLs', 'D:\\python3.5.2\\lib', 'D:\\python3.5.2', 'D:\\python3.5.2\\lib\\site-packages']
#列表中第一个路径代表当前路径
version
当前版本
方法:sys.version
返回值:str
例如:print(sys.version)
 >>> 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)]
#python解释器当前的版本信息
argv
命令行参数
方法:sys.argv
返回值:list
例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv)
     python test1.py 2 3 df
 >>> ['test1.py','2','3','df']
#该方法返回的列表中第一个元素为程序的路径,会把执行参数传入到列表中

2.time模块

time.time()
time.sleep()
time.ctime()
time.localtime()
time.mktime()
time.strftime()
time.strptime()

重点掌握:
    time.time()
    time.sleep()
    time.strftime()
# 获得当前时间段的时间戳
t = time.time()
print(t)
# 结果为:1594796839.9872823
# 使程序显示停顿
time.sleep(3)
# 将时间戳转换成字符串
s = time.ctime(t)    #括号中的变量为时间戳
print(s)
# 结果为:Wed Jul 15 15:09:50 2020
# 将时间戳转换成元组
t = time.localtime(t)   #括号中的变量为时间戳
print(t)
# 结果为:time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=15, tm_min=13, tm_sec=10, tm_wday=2, tm_yday=197, tm_isdst=0)
print(t.tm_year)
# 结果为:2020
# 这里可以进行单独的调用,如t.tm_year,t.tm_mon等
# 将元组转换成时间戳
tt = time.mktime(t)  # 括号中传入的是元组
print(tt)
# 结果为:1594797522.0
# 将元组的时间转换成字符串
s = time.strftime('%Y-%m-%d %H:%M:%S')
print(s)
# 结果为:2020-07-15 15:21:25
# 将字符串转换成元组的方式
r = time.strptime('2020/07/15', '%Y/%m/%d')
print(r)
# 结果为:time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=197, tm_isdst=-1)

3.datetime模块,是date和time模块的合集

1.datetime.date:表示日期的类
2.datetime.datetime:表示日期时间的类
3.datetime.time:表示时间的类
4.datetime.timedelta   表示时间差的类  这个重要
date类有三个参数,datetime.date(year,month,day),返回year-month-day
import datetime

d = datetime.date(2019, 11, 16)
print(d.ctime())
print(d.strftime('%Y/%m/%d'))

dt = datetime.timedelta(days=1, minutes=30, hours=2, seconds=59)  # ,也可以有weeks = ''.delta时间差 δ  Δt
print(dt)
now = datetime.datetime.now()  # 得到当前的时间对象
print(now)

print(now + dt)
# redis 做缓存时,通过 δ 时间差 控制
# session 会话机制, 内存缓存

4.random模块

random.random()   0-1之间的随机小数
random.randrange(1,10,2)   这个从一到十但不包括十,2为间隔数
random.ranint(1,10)     110都可以取到
random.choice(lsit1)  随机选取
random.shuffle(list1)  打乱顺序
# 验证码  大小写字母与数字的组合
import random


def func():
    code = ''
    for i in range(4):
        ran1 = str(random.randint(0, 9))
        ran2 = chr(random.randint(65, 90))  # 大写字母
        ran3 = chr(random.randint(97, 122))  # 小写字母
        r = random.choice([ran1, ran2, ran3])
        code += r
    return code


code = func()
print(code)

5.hashlib模块

主要是进行加密使用
import hashlib

"""
加解密 都不能直接操作
需要encoded 和 decode 操作

md5 sha1 均是单向加密 无法解密
base64加密 双向 加解密
"""
msg = '这是一个机密'
e_msg = msg.encode('utf-8')
print(e_msg)

m_msg = hashlib.md5(e_msg)
print(m_msg.hexdigest())  # 十六进制显示

s_msg = hashlib.sha256(e_msg)
print(s_msg.hexdigest())
# 标准库
# unicode -> str
print(chr(65))

# str -> unicode
print(ord('操'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值