模块(2)

time
  用于处理时间相关
    1.获取时间
    2.不同格式的时间转换
    3.sleep函数
import time
浮点型的时间戳 从unix元年开始到现在的秒数
print(time.time())通常用于计算时间差,不会直接给用户看
print(time.asctime())格林威治时间 格式
print(time.ctime())格林威治时间 格式

都是结构化时间(把时间拆开为不同部分)
print(time.gmtime()) 世界时间 比中国时间晚了八个小时
print(time.localtime())获取本地时间


从结构化时间转为时间戳
print(time.mktime(time.localtime()))
将结构化时间转为 格式化字符串时间
print(time.strftime('%Y-%m-%d %H:%M:%S %p',time.localtime()))

结构化可以单独获取某一个 比如年份月份
import datetime
# 获取当前时间会根据时区自动转换
print(datetime.datetime.now())

# 创建datetime对象 指定时间
print(datetime.datetime(year=2019,month=1,day=23))

# 两个datetime可以进行相减运算只能做减法
d1=datetime.datetime(1998,6,6)
d2=datetime.datetime(1997,1,3,10)

print(d2-d1)


# 可以单独获取某个部分
print(d2.hour)

# 时间差对象表示30
dl=datetime.timedelta(days=30)

# 三十天以后是什么日子 时间差可以与datetime进行+和-
print(datetime.datetime.now()+dl)


# 两个时间差 可以进行+、-、/
d2=datetime.timedelta(days=1)
d3=datetime.timedelta(days=2)
print(d3-d2)

random
  随机数相关模块
  计算机中的随机数都是伪随机
  随机数是通过一个算法根据一个种子数计算得来的
  只要知道了种子数 随机数的结果就是固定的
  默认是使用当前的时间戳作为种子数
import random


# while True:
# print(random.random())#从0-1 不包含1和0
# print(random.randint(1,3))#闭闭 包含开始和结束
# print(random.randrange(1,3)) #闭开包含开始不包含结束
#
# print(random.uniform(0,1))#不包含1的随机浮点数


# print(random.choice([1,2,3,4,5]))#从列表中随机选一个
#
# print(random.sample([1,2,3,4,5],2))#从列表中随机选出指定个数
# #打乱顺序
# li=[1,2,3,4,5]
# random.shuffle(li)
# print(li)
# 获取随机验证码 可以指定长度
def get_auth_code(num):
res = ''
for i in range(num):
# 随机获取验证码
# 验证码都是数字和字母的组合
# 长度为4

# random.choice
# 随机一个大写一个小写
a = random.randint(65, 90)
b = random.randint(97, 122)
c = random.choice([a, b])
d = random.randint(0, 9)
# 随机挑一个
e = random.choice([d, c])

if e > 9:
res += chr(e)
else:
res += str(e)
return res


print(get_auth_code(6))


sys
与解释器其相关一些操作
system 代表的不是


import sys

# 获取/添加环境变量
print(sys.path)
# 获取调用解释器时传递的参数 第一个永远是执行文件本身
print(sys.argv)
# 立即退出解释器
# 状态码可以自定义 执行为0
# sys.exit(-1)
# 查看已经被加载的模块
print(sys.modules)

print(sys.platform)#获取平台信息

print(sys.maxsize)#获取int最大值(在python中没有长度限制)

print(sys.version)# 获取解释器版本


pickle
是序列化模块
序列化指的是把一种数据类型 转换成另一种数据类型 目的是为了传输或存储数据

pickle 模块序列化得到的数据只能被pickle来反序列化
如过你写的是单机程序 可以使用该模块

对于网路应用程序而言我们需要一种任何语言平台都能识别的数据类型
这就是json 和xml
相关函数
dumps将python数据类型转为字节
dump封装了write函数的调用
loads是将字节转为python数据类型
load封装了read函数的调用

猜你喜欢

转载自www.cnblogs.com/ShenJunHui6/p/10309000.html