random,time,sys,os
1 import random 2 print(random.random()) #(0,1)大于0且小于1之间的小数 3 print(random.randint(1,3)) #大于等于1且小于等于3之间的整数 4 print(random.randrange(1,3)) #大于等于1且小于3之间的整数 5 print(random.choice(1,'23',[4,5])) #1或者23或者[4,5] 6 print(random.sample([1,'23',[4,5]],2)) #列表中元素任意两个组合 7 print(random.uniform(1,3)) #大于1小于3的小数 8 9 item = [1,3,5,7,9] 10 random.shuffle(item) #打乱item的顺序,相当于"洗牌" 11 print(item) #改变的是原列表,不返回新列表
生成随机6位数字的验证码
1 import random 2 def code(n=6): 3 s = '' 4 for i in range(n): 5 num = random.randint(0,9) 6 s += str(num) 7 return s 8 print(code())
生成随机6位数字+字母的验证码
1 import random 2 def code(n=6): 3 s = '' 4 for i in range(n): 5 num = str(random.randint(0,9)) 6 alpha_upper = chr(random.randint(65,90))#字母A-Z 7 alpha_lower = chr(random.randint(97,122))#字母a-z 8 res = random.choice([num,alpha_upper,alpha_lower]) 9 s += res 10 return s 11 print(code())
2.time模块
在python中,有三种方式表示时间:
时间戳(timestamp):时间戳表示从1970年1月1日00:00:00开始按秒计算的偏移量,返回的是float类型
格式化的时间字符串(format string):如2018-08-20
结构化的时间(struct_time):struct_time元组中共有9个元素(年,月,日,时,分,秒,一年的第几周,一年的第几天,夏令时)
1 import time 2 print(time.time()) #1534765430.133902 3 print(time.strftime("%Y-%m-%d %H:%M:%S")) 4 #格式化的时间字符串:2018-08-20 19:45:47 5 print(time.localtime()) 6 #本地时区的struct_time 7 (tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=19, tm_min=46, tm_sec=54, tm_wday=0, tm_yday=232, tm_isdst=0) 8 print(time.gmtime()) 9 #UTC时区的struct_time 10 (tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=11, tm_min=48, tm_sec=25, tm_wday=0, tm_yday=232, tm_isdst=0)
# 1.查看一下2000000000时间戳时间表示的年月日
1 import time 2 struct_time = time.localtime(2000000000) 3 format_time = time.strftime("%Y-%m-%d",struct_time)4 print(format_time)
# 2.将2008-8-8转换成时间戳时间
1 import time 2 struct_time = time.strptime("2008-8-8","%Y-%m-%d") 3 timestamp = time.mtime(struct_time) 4 print(timestamp)
# 3.请将当前时间的当前月1号的时间戳时间取出来 - 函数
1 import time 2 struct_time = time.localtime() 3 struct_time1 = time.strptime("%s-%s-1"%(struct_time.time_year,struct_time.time_mon),"%Y-%m-%d") 4 print(time.mktime(struct_time1))
# 4.计算时间差2018-8-19 22:10:8到2018-8-20 22:10:8经过了多少时分秒
1 format_time1 = "2018-8-19 22:10:8" 2 format_time2 = "2018-8-20 11:07:3" 3 struct_time1 = time.strptime(format_time1,"%Y-%m-%d %H:%M:%S") 4 struct_time2 = time.strptime(format_time2,"%Y-%m-%d %H:%M:%S") 5 timestamp1 = time.mktime(struct_time1) 6 timestamp2 = time.mktime(struct_time2) 7 stime = timestamp2 - timestamp1 8 gm_time = time.gmtime(stime) 9 print("过去了%d年%d月%d日%d时%d分%d秒"%(gm_time.tm_year-1970,gm_time.tm_mon-1,gm_time.tm_mday-1,gm_time.tm_hour,gm_time.tm_min,gm_time.tm_sec))
3.sys模块
1 import sys 2 sys.argv 命令行参数list,第一个元素是程序本身路径 3 sys.exit() 退出程序,正常退出时exit() 4 sys.version 获取python解释程序的版本信息 5 sys.path 返回模块的而搜索路径,初始化时使用PYTHONPATH环境变量的值
4.os模块
1 import os 2 os.getcwd() 获取当前工作目录,即获取当前python脚本工作的目录路径 3 os.chdir("dirname") 改变当前脚本工作目录 4 os.makedirs("dirname1/dirname2") 可生成多层递归目录 5 os.removedirs("dirname") 若目录没空,则删除,并递归到上一级目录,如果也为空,则删除,以此类推 6 os.mkdir("dirname") 生成单级目录 7 os.rmdir("dirname") 删除单级空目录,若目录不为空则无法删除,报错 8 os.listdir("dirname") 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 9 os.remove() 删除一个文件 10 os.rename("oldname","newname") 重命名文件/目录 11 os.path.dirname(path) 返回path的目录 12 os.path.join(path1[path2[...]]) 将多个路径组合后返回,第一个绝对路径之前的参数被忽略 13 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 14 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间