python概念-常用模块之究竟你是什么鬼

时间:2023-03-08 20:10:21

模块:

一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

说白了,就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文件所调用

那么如何使用一个模块呢?

当然是使用import 模块名 这个方式加载一个模块了

如果要使用模块中的类,就是:

模块名 点儿 类

那么如果模块中的方法不知道是做什么用的怎么办呢?

两种方法:

1.help(模块名.类)

2.Ctrl + 左键 点击 类

扯了一堆非常有用的信息之后呢,来聊聊常用的模块都有什么吧

time模块

从名字中就可以看出来这个模块和时间有关系,没错,这个模块中的所有类和方法都是与时间有关的

代码示例:

 # 编辑者:闫龙
import time#导入time模块
print(time.time())#打印从1970-01-01 00:00:00开始,至此时此刻的时间戳
print(time.strftime("%Y-%m-%d"))#格式化时间字符串的显示格式
print(time.localtime())#打印当前时区的日期时间,以元组的方式返回
print(time.localtime().tm_hour)#打印当前时区的时间中小时的字段,其中还有很多类似的属性:tm_year,tm_mon,tm_mday等等
print(time.gmtime())#打印UTG时区的日期时间,以元组的方式返回,其中的属性与localtime()中的属性相同
print(time.localtime(1393204575))#打印当前时区对应时间戳的日期时间,以元组的方式返回
print(time.asctime())#打印一个定义好的日期格式:Wed Apr 26 19:04:50 2017
print(time.ctime(1393204575))#将时间戳打印一个定义好的日期格式:Mon Feb 24 09:16:15 2014
time.sleep(1)#让当前进程处于休眠状态1秒钟

time模块

random模块

随机模块,这里是包含了一系列随机数产生的方法

代码示例

 # 编辑者:闫龙
import random#导入random模块
print(random.random())#得到大于0,小于1的随机小数
print(random.choice([1,2,3,4,5]))#随机从列表中抽取一个值
print(random.randint(1,100))#随机从1-100中抽取一个整数值
print(random.randrange(1,100))#随机从1-99中抽取一个整数值
print(random.sample([1,2,3,4,5,6,7],2))#随机从列表中抽取两个值
print(random.uniform(1,5))#随机抽取一个大于等于1且小于等于5的数字含小数
l = [1,2,3,4,5,6,7]
random.shuffle(l)#打算列表顺序
print(l)

random模块

os模块

顾名思义,这个模块是操作系统的交互模块,其中包含的方法很多很多

 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: ('.')
os.pardir 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
os.stat('path/filename') 获取文件/目录信息
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.abspath(path) 返回path规范化的绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是绝对路径,返回True
os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小

os模块

我就偷个懒,借用egon总结的代码(其实我知道他也是从别人那里剽窃过来的)

sys模块

 # 编辑者:闫龙
import sys#导入模块sys
sys.argv#从名字里理解的话,其实与args差不多,这里是利用命令行执行代码时,后方跟的参数,接收成列表
sys.version#获取python解释器的版本
sys.path#获取模块的搜索路径(列表),按顺序查找
sys.platform#获取当前python的运行平台(操作系统)
sys.exit()#退出程序

hashlib模块

hash算法模块,此模块可以将字符计算成一个固定长度的值,且不可逆

代码示例:

 # 编辑者:闫龙
import hashlib#导入hashlib模块
a = hashlib.md5()#让a得到hash.md5算法
a.update("aaaa".encode("utf8"))#将"aaaa"转换成md5形式
print(a.hexdigest())