python概念-常用模块之究竟你是什么鬼
模块:
一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。
说白了,就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文件所调用
那么如何使用一个模块呢?
当然是使用import 模块名 这个方式加载一个模块了
如果要使用模块中的类,就是:
模块名 点儿 类
那么如果模块中的方法不知道是做什么用的怎么办呢?
两种方法:
1.help(模块名.类)
2.Ctrl + 左键 点击 类
扯了一堆非常有用的信息之后呢,来聊聊常用的模块都有什么吧
time模块
从名字中就可以看出来这个模块和时间有关系,没错,这个模块中的所有类和方法都是与时间有关的
代码示例:
1 # 编辑者:闫龙 2 import time#导入time模块 3 print(time.time())#打印从1970-01-01 00:00:00开始,至此时此刻的时间戳 4 print(time.strftime("%Y-%m-%d"))#格式化时间字符串的显示格式 5 print(time.localtime())#打印当前时区的日期时间,以元组的方式返回 6 print(time.localtime().tm_hour)#打印当前时区的时间中小时的字段,其中还有很多类似的属性:tm_year,tm_mon,tm_mday等等 7 print(time.gmtime())#打印UTG时区的日期时间,以元组的方式返回,其中的属性与localtime()中的属性相同 8 print(time.localtime(1393204575))#打印当前时区对应时间戳的日期时间,以元组的方式返回 9 print(time.asctime())#打印一个定义好的日期格式:Wed Apr 26 19:04:50 2017 10 print(time.ctime(1393204575))#将时间戳打印一个定义好的日期格式:Mon Feb 24 09:16:15 2014 11 time.sleep(1)#让当前进程处于休眠状态1秒钟
random模块
随机模块,这里是包含了一系列随机数产生的方法
代码示例
1 # 编辑者:闫龙 2 import random#导入random模块 3 print(random.random())#得到大于0,小于1的随机小数 4 print(random.choice([1,2,3,4,5]))#随机从列表中抽取一个值 5 print(random.randint(1,100))#随机从1-100中抽取一个整数值 6 print(random.randrange(1,100))#随机从1-99中抽取一个整数值 7 print(random.sample([1,2,3,4,5,6,7],2))#随机从列表中抽取两个值 8 print(random.uniform(1,5))#随机抽取一个大于等于1且小于等于5的数字含小数 9 l = [1,2,3,4,5,6,7] 10 random.shuffle(l)#打算列表顺序 11 print(l)
os模块
顾名思义,这个模块是操作系统的交互模块,其中包含的方法很多很多
1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 2 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd 3 os.curdir 返回当前目录: ('.') 4 os.pardir 获取当前目录的父目录字符串名:('..') 5 os.makedirs('dirname1/dirname2') 可生成多层递归目录 6 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 7 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname 8 os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 9 os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 10 os.remove() 删除一个文件 11 os.rename("oldname","newname") 重命名文件/目录 12 os.stat('path/filename') 获取文件/目录信息 13 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" 14 os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" 15 os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为: 16 os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' 17 os.system("bash command") 运行shell命令,直接显示 18 os.environ 获取系统环境变量 19 os.path.abspath(path) 返回path规范化的绝对路径 20 os.path.split(path) 将path分割成目录和文件名二元组返回 21 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 22 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 23 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False 24 os.path.isabs(path) 如果path是绝对路径,返回True 25 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False 26 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 27 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 28 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 29 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间 30 os.path.getsize(path) 返回path的大小
我就偷个懒,借用egon总结的代码(其实我知道他也是从别人那里剽窃过来的)
sys模块
1 # 编辑者:闫龙 2 import sys#导入模块sys 3 sys.argv#从名字里理解的话,其实与args差不多,这里是利用命令行执行代码时,后方跟的参数,接收成列表 4 sys.version#获取python解释器的版本 5 sys.path#获取模块的搜索路径(列表),按顺序查找 6 sys.platform#获取当前python的运行平台(操作系统) 7 sys.exit()#退出程序
hashlib模块
hash算法模块,此模块可以将字符计算成一个固定长度的值,且不可逆
代码示例:
1 # 编辑者:闫龙 2 import hashlib#导入hashlib模块 3 a = hashlib.md5()#让a得到hash.md5算法 4 a.update("aaaa".encode("utf8"))#将"aaaa"转换成md5形式 5 print(a.hexdigest())