random,time,sys,os

Posted s593941

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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所指向的文件或者目录的最后修改时间

 

以上是关于random,time,sys,os的主要内容,如果未能解决你的问题,请参考以下文章

Python 常用模块 -- collections模块,time模块,random模块,os模块,sys模块

python笔记-----模块(time,os,sys,random,shutil)

random,time,sys,os

标准库之time,random,sys,os

模块:time,random,os,sys

time random sys os模块