random模块
1 import random 2 3 # 应用数学计算 4 print(random.random()) # 取随机小数 范围是 0-1之间 5 6 # 应用抽奖 , 彩票 7 print(random.randint(1,10)) # 取随机整数, 范围是 1 - 10 顾头又顾尾 8 print(random.randrange(1,2)) # 取随机整数 , 范围是 1 - 2 顾头不顾尾 9 10 11 # 从列表中随机抽取 应用抽奖 12 l = ['a','b',('a','b','c'),123,[1,3]] 13 print(random.choice(l)) # 从列表中随机取出一个元素 14 print(random.choices(l)) # 从列表中随机取出一个元素,并且是以列表的形式返回 15 print(random.sample(l,2)) # 从列表中随机取出两个元素 16 17 # 打乱一个列表的顺序,可以洗牌 18 random.shuffle(l) # 打乱列表的顺序 ,没有返回值, 在原列表中打乱 19 print(l)
随机验证码 函数版 可以自己更改位数
1 import random 2 def YZM(n=6,fal = True): 3 s = "" 4 for i in range(n): 5 num = str(random.randint(0,9)) # 随机数字 6 if fal: 7 apl1 = chr(random.randint(65,90)) # 随机大写字母 8 apl2 = chr(random.randint(97,122)) # 随机小写字母 9 num = random.choice([num,apl1,apl2]) # 从三个中随机再取出一个 10 s += num 11 return s 12 print(YZM(4))
发红包 拼手气红包
时间模块
1 import time 2 常用方法 3 time.sleep(2) # 当程序走到这里会停顿两秒 可以称睡眠 4 print("你好") 5 6 时间戳 7 print(time.time()) 8 9 time 模块主要是和时间打交道的 10 时间格式: 11 2018-08-20 16:20:30 字符串时间, 格式化时间 , 给人看的 12 结构化时间: 13 1534752966.3648965 浮点型数据类型, 以S为单位, 时间戳时间, 给计算机用的 14 时间戳时间是从伦敦时间 1970-1-1 00:00:00 开始计
格式化时间 , 结构化时间 , 时间戳时间
1 import time 2 3 # 格式化时间 4 print(time.strftime("%Y-%m-%d %H:%M:%S")) # str format time 5 # 2018-08-20 16:32:15 6 print(time.strftime('%y-%m-%d %H:%M:%S')) 7 # 18-08-20 16:33:38 8 print(time.strftime('%D')) 9 # 08/20/18 10 print(time.strftime('%c')) 11 # 伦敦时间 : Mon Aug 20 16:35:01 2018 12 13 14 # 结构化时间 15 bendi_time = time.localtime() # 北京时间 16 print(bendi_time) 17 # time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=16, tm_min=40, tm_sec=27, tm_wday=0, tm_yday=232, tm_isdst=0) 18 print(bendi_time.tm_mon) # 显示月 19 # 8 20 21 # 时间戳时间 22 print(time.time()) 23 # 1534754582.3888912
格式化时间 , 结构化时间 , 时间戳时间 三者之间的转换
1 # 时间戳时间转化成字符串时间 2 import time 3 struct_time = time.localtime(1500000000) # 将时间戳转成结构化时间 4 print(struct_time) # 北京时间 5 # time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0) 6 print(time.gmtime(1500000000)) # 伦敦时间 7 # time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0) 8 ret = time.strftime("%Y-%m-%d %H:%M:%S",struct_time) # 将结构化时间转化成字符串时间 9 print(ret) 10 # 2017-07-14 10:40:00
1 # 字符串时间转化成时间戳时间 2 import time 3 struc_time = time.strptime("2018-08-16","%Y-%m-%d") # 将字符串时间转化成结构化时间 4 print(struc_time) 5 ret = time.mktime(struc_time) # 将结构化时间转化成时间戳时间 6 print(ret)
例题:
1 # 将当前时间的当前月的1号的时间戳取出来 2 import time 3 def benyue_time(): 4 struct_time = time.localtime() 5 st = time.strptime('%s-%s-01' % (struct_time.tm_year,struct_time.tm_mon),"%Y-%m-%d") # 按格式化时间取出年月,然后转成结构时间 6 get_time= time.mktime(st) #转成时间戳时间 7 return get_time 8 print(benyue_time())
1 # 计算时间差 2 import time 3 def get_time(n1,n2): 4 st1 = time.strptime(n1,"%Y-%m-%d %H:%M:%S") 5 st2 = time.strptime(n2,"%Y-%m-%d %H:%M:%S") 6 struct_time1 = time.mktime(st1) 7 struct_time2 = time.mktime(st2) 8 num1 = struct_time2 - struct_time1 9 time_cha = time.gmtime(num1) 10 return "经历了%s年%s月%s日%s时%s分%s秒" % (time_cha.tm_year-1970,time_cha.tm_mon-1,time_cha.tm_mday-1, 11 time_cha.tm_hour,time_cha.tm_min,time_cha.tm_sec) 12 13 print(get_time('2018-05-06 06:05:03',"2018-08-20 08:10:30"))
sys模块
sys模块是与Python交互的一个接口
迷糊不懂
1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) 3 sys.version 获取Python解释程序的版本信息 4 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 5 sys.platform 返回操作系统平台名称
os模块
1 import os 2 os.makedirs('dir1/dir2') # 创建文件目录,一次性可以创建多级目录 3 os.mkdir("dir3/dir4") # 创建文件目录 只能创建单级目录 4 # 只能删除空文件夹 5 os.rmdir('dir1/dir2') # 删除单级目录 6 os.removedirs("dir3/dir4") #可以删除多级目录 前提是空文件夹 7 print(os.stat(r'E:\Python\day18') 8 print(os.listdir('E:\Python\day18')) # 列出指定目录下的所有文件和子目录,包括隐藏文件 并以列表的方式返回 9 os.rename("旧文件名","新文件名") # 重命名文件/目录 10 os.stat("path 路径") # 获取文件/目录信息 11 os.getcwd() # 获取当前工作目录,即当前Python脚本工作的目录路径 12 os.chdir('E:\Python\day18') # 切换当前的工作的目录 13 ret = os.path("dir") # 是和做查看类的操作 14 print(ret.read())