一 time 模块
1 ‘2017-06-21‘ #时间字符串 2 import time 3 #时间戳 4 ‘‘‘ 5 1970_01_01 0:0:0 -------------------最开始时间 6 1970_01_01 0:0:1 ------------------ 以秒开始计算 7 8 1971_01_01 0:0:0 -----------------------24*3600*365 以秒计算时间 9 ‘‘‘ 10 #当前时间戳 11 # print(time.time()) 12 13 #时间对象 对象.方法 14 #print(time.localtime()) 15 16 # g=time.gmtime() 17 # print(g) 18 19 #取部分时间 20 # s=time.localtime() # 21 # print(s.tm_year) 22 23 #将时间戳转换成结构化时间 24 # s=time.localtime(7552574592) 25 # print(s) 26 27 #将结构化时间转换成时间戳 28 # s=time.mktime(time.localtime()) # 29 # print(s.tm_year) 30 31 # g=time.mktime(time.gmtime()) 32 # print(g) 33 34 #时间字符串 35 # g=‘2012-02-23‘ 36 # print(g) 37 38 #将结构时间转换成时间字符串 39 # s=time.strftime(‘%Y-%m-%d‘,time.localtime()) 40 # print(s) 41 42 #将字符串时间转换成结构化时间 43 # a=time.strptime(‘2012-02-23‘,‘%Y-%m-%d‘) 44 # print(a) 45 46 #将时间戳转换成字符串时间,转换的时间字符串格式是定义好的 47 # print(time.ctime(2146897342)) 48 49 #将结构化时间转换成字符串时间,只需要提供结构化时间,不需要给他格式,就是返回一个固定时间,转换的时间字符串格式是定义好的 50 # print(time.asctime()) 51 52 #时间睡一下,相当于停多少时间,模拟了I/O操作。暂停时不会占用CPU 53 # time.sleep(1) 54 55 #时间戳是就是一个浮点型的数字,标识着对应的年份 56 #结构化时间方便我们取决信息 57 #时间字符串为了让我们人能看懂 58 59 60 61 # #小练习 62 # s=‘2017-6-21‘ 63 # struct_t=time.strptime(s,‘%Y-%m-%d‘) #先将字符串时间转换成结构化时间 64 # stamp_t=time.mktime(struct_t) #然后再将结构化时间转换成时间戳 65 # new_stamp=stamp_t+3600*24*3 #然后再加上3天的时间戳 66 # new_etr_t=time.strftime(‘%Y-%m-%d‘,time.localtime(new_stamp)) #最后再转回去,转成字符串时间。 67 # print(new_etr_t)
二 random 随机模块
1 #随机数模块 2 # import random 3 # 4 # #返回一个floot浮点型数字,范围在0到1之间的浮点型数字 5 # #print(random.random()) 6 # 7 # #取整数,取头也取尾,随机取一个值 8 # print(random.randint(1,6)) 9 # 10 # #取整数,顾头不顾尾,随机取一个值 11 # print(random.randrange(1,6)) 12 # 13 # #随机取列表中的一个元素 14 # print(random.choice([1,4,7,2,0,6])) 15 # 16 # #随机取多个值,自己定义 17 # print(random.sample([1,5,6,76,7,4],3)) 18 # 19 # #取该范围的浮点型数字 20 # print(random.uniform(1,4)) 21 # 22 # #打乱列表中的数字 23 # l=[1,2,3,4,5,6] 24 # random.shuffle(l) 25 # print(l) 26 27 28 #练习,随机五位验证码,包括大小写字母,还有数字。 29 # import random 30 # def fang(): 31 # ret=‘‘ 32 # for i in range(5): 33 # a=random.randint(0,9) 34 # b=chr(random.randint(97,122)) 35 # c=chr(random.randint(65,90)) 36 # s=random.choice([str(a),b,c]) 37 # ret=ret+s 38 # return ret 39 # print(fang())
三 hashlib 模块 摘要算法
1 #摘要算法 2 # import hashlib 3 # #返回一个32未16进制的数字,返回的16进制数字是定义好的 4 # md5_obj=hashlib.md5() 5 # md5_obj.update(b‘hello‘) # 5d41402abc4b2a76b9719d911017c592 6 # print(md5_obj.hexdigest()) 7 # 8 # #返回一个32未16进制的数字,返回的16进制数字是定义好的 9 # md5_obj=hashlib.md5() 10 # md5_obj.update(b‘helloworld‘) # fc5e038d38a57032085441e7fe7010b0 11 # print(md5_obj.hexdigest()) 12 # 13 # #返回一个内容分成两个小的内容16进制的数字,返回的16进制数字和只返回那一个的结果一样 14 # md5_obj=hashlib.md5() 15 # md5_obj.update(b‘hello‘) 16 # md5_obj.update(b‘world‘) # fc5e038d38a57032085441e7fe7010b0 17 # print(md5_obj.hexdigest()) 18 19 #总结:在想要返回一个大内容的时候,可以把他分成多个小的内容,然后在一块返回结果。 20 #’’’ 21 #摘要算法应用:文件一致性,登陆 22 #例如: 23 #username pwd 24 #方杰 623745594545 25 #975485445486448 865835645731 26 #6583454589687 5774234566555 27 28 29 #fang 6467635485548887588 30 #jie 5436532437i87685865 31 #’’’ 32 33 #加盐:就是在需要返回的参数还没有在定义之前加入内容。 34 # import hashlib 35 # md5_obj=hashlib.md5(b‘hello‘) 36 # md5_obj.update(b‘fang‘) #d621f78d93f9bd588acae089c88ff149 37 # print(md5_obj.hexdigest())
四 os 模块
1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 2 3 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd 4 5 os.curdir 返回当前目录: (‘.‘) 6 7 os.pardir 获取当前目录的父目录字符串名:(‘..‘) 8 9 os.makedirs(‘dirname1/dirname2‘) 可生成多层递归目录 10 11 os.removedirs(‘dirname1‘) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 12 13 os.mkdir(‘dirname‘) 生成单级目录;相当于shell中mkdir dirname 14 15 os.rmdir(‘dirname‘) 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 16 17 os.listdir(‘dirname‘) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 18 19 os.remove() 删除一个文件 20 21 os.rename("oldname","newname") 重命名文件/目录 22 23 os.stat(‘path/filename‘) 获取文件/目录信息 24 25 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" 26 27 os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" 28 29 os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为: 30 31 os.name 输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘ 32 33 os.system("bash command") 运行shell命令,直接显示 34 35 os.environ 获取系统环境变量 36 37 os.path.abspath(path) 返回path规范化的绝对路径 38 39 os.path.split(path) 将path分割成目录和文件名二元组返回 40 41 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 42 43 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 44 45 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False 46 47 os.path.isabs(path) 如果path是绝对路径,返回True 48 49 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False 50 51 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 52 53 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 54 55 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 56 57 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间 58 59 os.path.getsize(path) 返回path的大小
时间: 2024-10-27 23:29:57