之前学了两个常用的模块collections和re模块今天我们接着学习其他几个常用模块。都是比较常用的之前的学习或多或少也有所接触比如说时间模块等。
预习:
写一个验证码
首先 要有数字
其次 要有字母
一共 4位
可以重复
预习题
一、时间模块(time)
在学习模块之前我们所接触的时间模块
import time
time.sleep(1)
#(线程)推迟指定的时间运行。单位为秒。
time.time()
#获取当前时间戳
简单使用
表示时间的三种方式
在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
1、时间戳(timestamp) :时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
2、格式化的时间字符串(Format String):2017-8-8
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
python中时间日期格式化符号
3、元组(struct_time) :struct_time元组共有9个元素共九个元素:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=16, tm_min=37, tm_sec=23, tm_wday=1, tm_yday=220, tm_isdst=0)
tm_year(年) 比如2011
tm_mon(月) 1 - 12
tm_mday(日) 1 - 31
tm_hour(时) 0 - 23
tm_min(分) 0 - 59
tm_sec(秒) 0 - 61
tm_wday(weekday) 0 - 6(0表示周日)
tm_yday(一年中的第几天) 1 - 366
tm_isdst(是否是夏令时) 默认为-1
python中时间日期结构化属性
python中表示时间的几种格式
import time
#数字,时间戳
print(time.time()) #在存时间 并且给计算机用的时候
#格式化的时间字符串
print(time.strftime("%y/%m/%d %H:%M:%S")) #展示 : 打印时间的时候 需要记录的时候
#结构化的时间元组
print(time.localtime()) #用于计算机对时间进行计算
表示时间的格式
小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
几种格式之间的转换
import time
#时间戳-->结构化
print(time.gmtime(1500000000))
print(time.localtime(1500000000))
print(time.localtime(3000000000))
print(time.time())
#结构化-->时间戳
t = time.localtime()
print(t)
print(time.mktime(t))
#结构化-->格式化
t = time.localtime()
s = time.strftime("%B",t)
s = time.strftime("%a %b %d %H:%M:%S %Y",t)
print(s)
#格式化-->结构化
print(time.strptime(s,"%Y-%m-%d %H"))
时间格式转化
注意:格式化和时间戳不能直接转换
生成固定格式的时间表示格式
print(time.asctime(time.localtime()))
print(time.ctime(time.time()))
# Tue Aug 8 16:54:09 2017
#如果不传参返回当前时间
View Code
二、romdom模块
import random
#随机小数
random.random() # 大于0且小于1之间的小数
random.uniform(1,3) #大于1小于3的小数
#随机整数
random.randint(1,5) # 大于等于1且小于等于5之间的整数
random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
#随机选择一个返回
random.choice([1,'23',[4,5]]) # #1或者23或者[4,5]
#随机选择多个返回,返回的个数为函数的第二个参数
random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合
#打乱列表顺序
item=[1,3,5,7,9]
random.shuffle(item) # 打乱次序
三、sys模块
sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxsize 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
import sys
print(sys.argv)
# name = sys.argv[1]
# password = sys.argv[2]
# if name == 'egon' and password == 'somebody':
# print('继续执行程序')
# else:
# exit()
# sys.exit()
print(sys.version)
print(sys.maxsize)
print(sys.path)
# sys.path.clear() #清除下载的模块
import requests
print(sys.platform)
四、os模块
os模块是与操作系统交互的一个接口
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: ('.')
os.pardir 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirnam