首页 > 代码库 > 内置模块

内置模块

一  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)
View Code

二 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())
View Code

三 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())
View Code

 四  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的大小
View Code

 

内置模块