时间模块 time 随机模块random os模块,sys模块
时间模块 time
转换规则
#格式化时间转换成时间戳时间
#例题 2018年9月4日 16:09:30 # l1 = "2018-09-04 16:09:30" # l2 = time.strptime(l1,"%Y-%m-%d %H:%M:%S") # print(l2) #先转换成结构化时间 # #time.struct_time(tm_year=2018, tm_mon=9, tm_mday=4, tm_hour=16, tm_min=9, tm_sec=30, tm_wday=1, tm_yday=247, tm_isdst=-1) # l3 = time.mktime(l2) # print(l3) #在转换成时间戳时间 #1536048570.0
# l1 = 3000000000 # l2 = time.localtime(l1) #先将时间戳时间转换成结构化时间 #time.struct_time(tm_year=2065, tm_mon=1, tm_mday=24, tm_hour=13, tm_min=20, tm_sec=0, tm_wday=5, tm_yday=24, tm_isdst=0) # print(l2) # l3 = time.strftime("%Y-%m-%d %H:%M:%S",l2) #在将结构化时间转换成格式化时间 # print(l3) #2065-01-24 13:20:00
#例 写函数 计算出本月一号的的时间戳
# def A(): # l1 = time.strftime("%Y-%m-01") #格式化时间 # # print(l1) # l2 = time.strptime(l1,"%Y-%m-%d") #结构化时间 # # print(l2) # l3 = time.mktime(l2) #时间戳时间 # # print(l3) # return l3 # ret = A() # print(ret)
随机模块 random
import random
取随机小数 #一般不用
import random # print(random.random()) #random() 指的是0-1之间的小数 # print(random.uniform(1,3)) #uniform(a,b) 指a到b之间的随机小数,
#取随机整数 ***
# print(random.randint(1,10)) #randint(a,b) 指a到b之间的随机整数 包括a,b # print(random.randrange(1,10,2)) #randrange(a,b,c) # 与range用法一样,指取a到b之间,步长为c的随机数字,同样遵循range的取法顾首不顾尾
#从列表中随机抽取 ****
# lst = [1,2,3,4,("a","b"),"中国"] # l2 = "aslfdkjds" # l3 = (1,2,3,4,5) # print(random.choice(lst)) #choice() 从列表中随机取出一个值 # print(random.sample(l2,2)) #sample(a,b) 从列表中一次取出b(2)个值,取出的俩个值放在一个列表中
#乱序 ***
# lst = [1,2,3,4,("a","b"),"中国"] # random.shuffle(lst) #shuffle(a) 对列表中的元素进行任意排序 # print(lst) #[1, '中国', 3, ('a', 'b'), 2, 4]
#例题 请你生成一个6位的验证码(数字和字母)
任意6位数字组成的验证码 # def a(): # l1 = "" # for i in range(6): # l2 = str(random.randint(0,9)) # l1 += l2 # return l1 # s1 = a() # print(s1)
任意数字,大小写字母,或者全数字
# def B(n= 6,flag = True): # l1 = "" # # for i in range(n): # l2 = str(random.randint(0, 9)) # if flag: # l3 = chr(random.randint(65,90)) #A-Z随机取一 # l4 = chr(random.randint(97,122)) #根据chr将数字转换成ASCII中a-z随机取一 # l2 = random.choice([l2,l3,l4]) # l1 += l2 # return l1 # a = B(n = 4,flag=False) # print(a)
os 模块
#创建文件夹
# os.mkdir("dirname") #mkdir(a) # 在当前目录下创建文件夹a,如果当前目录存在文件a那么运行会报错 # os.makedirs("dirname1/dirname2") #makedirs(a/b) #在当前目录创建文件a,和在a中创建子目录b
#删除文件夹
# os.rmdir("dirname") #rmdir(a) 删除当前文件a, # 如果文件a中存在文件,则会报错,即只能删除 空文件夹 # os.removedirs("dirname1/dirname2") #removedirs(a/b) #如果文件a中只有b文件且b为空文件,则a,b都会被删除, # 如果文件a中除了b,还有其他文件夹,则只会删除文件b
# ret = os.listdir("G:\骑士计划") #listdir(a) 显示a中的所有子目录 # print(ret) # print(os.stat("G:\骑士计划")) #获取文件/目录信息 # os.remove("dirname") #删除某一个文件 # os.rename("dirname1","dirname") #rename(a,b) 将文件a命名为b
os.path
# l1 = os.path.abspath("G:\骑士计划\2018-9-4") #返回path规范化的绝对路径 # print(l1) #G:\骑士计划8-9-4 # l2 = os.path.abspath("2018-9-4") # print(l2) #G:\骑士计划\2018-9-4\2018-9-4 # # l3 = os.path.split("G:\骑士计划\2018-9-4") #split 将文件分割成目录和文件名组成的元组 # print(l3) #('G:\\', '骑士计划\x818-9-4') # l4 = os.path.dirname("G:\骑士计划\2018-9-4") #返回path目录,即split的第一个元素 # print(l4) #G:\ # l5 = os.path.basename("G:\骑士计划\2018-9-4") #返回path最后的文件名, # print(l5) #骑士计划8-9-4 # r1 = os.path.exists("G:\骑士计划\python讲师 jing") #path.exists 判断该path是否存在 # r2 = os.path.exists("G:\骑士计划\2018-9-5") # print(r1,r2) #True False # r1 = os.path.isfile("G:\骑士计划\python讲师 jing") #如果path是一个存在的文件,返回True。否则返回False # r2 = os.path.isdir("G:\骑士计划\python讲师 jing") #如果path是一个存在的目录,则返回True。否则返回False # print(r1,r2) #False True # l1 = os.path.join("G:\骑士计划","python讲师 jing") # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 # l2 = os.path.abspath(l1) #返回path规范化的绝对路径 # print(l1,"*******",l2) #G:\骑士计划\python讲师 jing ******* G:\骑士计划\python讲师 jing
#os.path.getsize 在Windows中如果是文件则返回4096,如果是py文件则返回文件的大小 单位字节 #在Linux和mac中文件夹占的大小 分为32位和64位 # l1 = os.path.getsize("G:\骑士计划\python讲师 jing") #返回path的大小 # l2 = os.path.getsize("G:\骑士计划\\2018-9-4\9-4草稿.py") # print(l1,l2) # print(os.system("dir")) #相当于在shell命令中执行dir命令,即调用shell中命令来执行 # print(os.popen("dir").read())
sys 模块
# print(sys.path) #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 # print(sys.modules) #查看当前内存空间中所有的模块,和这个模块的内存空间 # print(sys.argv)
#一个模块能否被导入,就看这个模块所在的目录在不在sys.path路径中
#内置模块和第三方扩展模块都不需要我们除了sys.path 就可以直接使用
#只有自定义模块的导入工作需要自己手动的修改sys.path