=============================================
python模块:time,random,hashlib.md5,string,os
模块:
模块(代码块)======.py文件
模块--------包含了n个“类”,函数,方法,变量等。模块是可以被调用的。
模块无需重复导入,导入后模块中的方法可以无限次使用
导入模块的两种方法:
1、import +模块名------------------------------导入单个或多个模块中的所有函数
2、from +模块名 import *-------------------导入单个模块的所有函数,或单个模块中的指定函数
1、“time”(时间)模块:time(),ctime(),sleep(5),asctime(),strftime
import +模块名
import time------------------------------------------------在当前文件中导入“time”模块
a=time.time()-------------“time()”#1970年到现在经过的秒数(就是1970到现在一共过了多少秒)
print(a)-----------------时间会一直递增,所以每次打印的结果都不同
# print(time.time())---------------------------------------------------------------直接打印
结果:#1628410293.2800314
d=time.ctime()----------“ctime()”#固定格式的当前的时间(显示当前的时间)
print(d)----------------#Sun Aug 8 14:05:35 2021,打印当前的时间
#print(time.ctime())-------------------------------------------------------------直接打印
结果:#Sun Aug 8 16:11:33 2021
time.sleep(5)-------------“sleep(5)”强制等待“5”秒后再执行后面的代码。
h=time.asctime()-------“asctime()”#转换为asc码显示当前时间
print(h)---------------#Sun Aug 8 15:13:31 2021,asc码显示当前时间
# print(time.asctime())-------------------------------------------------------直接打印
结果:#Sun Aug 8 16:11:38 2021
y=time.strftime('%Y-%m-%d-%H-%M-%S')-------“strftime(格式)”---格式化显示时间
print(y)---------------#2021-08-08-15-18-04,格式化显示时间
#print(time.strftime('%Y-%m-%d-%H-%M-%S'))------------------------直接打印
结果:#2021-08-08-16-11-38
注意:'%Y-%m-%d-%H-%M-%S'----------代表:“年月日时分秒”
from +模块名 import *
from time import *------------------------------------在当前文件中导入“time”模块
print(time())-------------------------------------------“time()”#1970年到现在经过的秒数
结果:#1628410293.2800314
print(ctime())-----------------------------------------“ctime()”#固定格式的当前的时间
结果:#Sun Aug 8 16:11:33 2021
sleep(5)---------------------------------------------------“sleep(5)”强制等待5秒后再执行后面的代码。
print(asctime())---------------------------------------“asctime()”#转换为asc码显示当前时间
结果:#Sun Aug 8 16:11:38 2021
print(strftime('%Y-%m-%d-%H-%M-%S'))---------“strftime()”格式化显示时间
结果:#2021-08-08-16-11-38
注意:'%Y-%m-%d-%H-%M-%S'----------代表:“年月日时分秒”
导入一个或者多个模块:(请区分)
from time import *-------------------------------导入“time”模块中的所有函数
from time import sleep-------------------------只导入“time”模块中的“sleep”函数
from time import sleep,strftime------------只导入“time”模块中的“sleep”和“strftime”函数
import time---------------------------------------导入“time”模块中的所有函数
import time,string-----------------------------导入“time”模块和“string”模块中的所有函数
==============================================================
2、“random”模块:
random(),randint,randrange,sample,choice,shuffle
import random--------------------------导入“random”模块
a=random.random()------------------“random()”随机生成“0”开头的浮点数,可以取到“0”,取不到“1”
print(a)
#print(random.random())--------------------------------直接打印
#结果:0.6324628334819267---------随机生成浮点数,每次打印结果都不一样。
import random
c=random.randint(3,11)--------------“randint”随机取一个值,包含起始值和结束值
print(c)------------------#9----------------在“3~11”之间随机取一个数
import random
r=random.randrange(0,10,2)----------“randrange”随机生成指定范围内单个偶数,不包括结束值。
print(r)-------#6--------(0,10,2)中“0”是起始值,“10”结束值,“2”是隔位,结束值不取。
import random
e=random.randrange(0,10,1)----------“randrange”随机生成指定范围内单个奇数,不包括结束值。
print(e)--------#6------(0,10,1)中“0”是起始值,“10”结束值,“1”是隔位,结束值不取。
import random
k=[1,'s',4,'多',66,'wang',9]
p=random.sample(k,3)--------------------“sample”随机从序列中取指定的位数值
print(p)----#['wang', 's', '多']------------“k”代表表名,“3”表示是由3个元素组成。
import random
k=[1,'s',4,'多',66,'wang',9]
m=random.choice(k)-------------------“choice”随机取序列中的一个元素
print(m)-------------------------#wang
import random(不可以变量打印)
k=[1,'s',4,'多',66,'wang',9]
random.shuffle(k)--------------------“shuffle”打乱序列中元素的排序
print(k)------------------#['wang', 's', '多', 66, 4, 1, 9]
# n=random.shuffle(k)------------------------赋值变量打印无结果,为“None”
# print(n)-----------------------------------------#None
===============================================================
3、加密模块:hashlib.md5()
import hashlib------------------------导入加密模块
md5=hashlib.md5()------------------------通过加密模块调用md5来生成一个对象
md5.update(b'1234')-----------通过md5这个对象调用“update”方法对“1234”进行加密处理。
print(md5)-----------------------#81dc9bdb52d04dc20036dbd8313ed055
print(md5.hexdigest())-------通过“hexdigest”来把这个加密的密码进行十六进制格式的转换输出
#81dc9bdb52d04dc20036dbd8313ed055---------十六进制格式
注意:python中的“update”加密区别:
python2.x版本中通过“update”加密时不需要加。
python3.x版本中通过“update”加密时需要需要加一个“b”
==========================================================================
4、string 模块:
import string
print(string.ascii_letters)-----------------------------打印26个英文字母
#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
import string
print(string.ascii_lowercase)------------------------打印26个小写字母
#abcdefghijklmnopqrstuvwxyz
import string
print(string.ascii_uppercase)------------------------打印26个大写字母
#ABCDEFGHIJKLMNOPQRSTUVWXYZ
import string
print(string.digits)------------------------------------打印0~9的数字
#0123456789
import string
print(string.hexdigits)--------------------------打印0~9数+a~f的大小写
#0123456789abcdefABCDEF
===========================================================
5、os 模块:
import os
print(os.getenv('TEMP'))--------------“getenv”通过变量名称来找名称相对应的变量值。
#C:\Users\ADMINI~1\AppData\Local\Temp
注意:此变量名称为电脑系统中的环境变量下的“系统变量名称和用户变量名称”
“getcwd”获取当前操作的文件的存放位置的上一级的绝对路径。
import os
print(os.getcwd())----------------“getcwd”获取当前操作的文件的存放位置的上一级的绝对路径。
#C:\py\duoceshi63\dcs
a=r'C:\py\duoceshi63\dcs\bao4'#这是一个包
c=r'C:\py\duoceshi63\dcs\mulu2'#这是一个目录
k=r'C:\py\duoceshi63\dcs\rong.py'#这是一个.py文件pr
“isfile”判断是否为文件,返回布尔值
import os
print(os.path.isfile(a))-----------------#False
print(os.path.isfile(c))-----------------#False
print(os.path.isfile(k))-----------------#True
“isdir”判断是否为目录
print(os.path.isdir(a))-----------------#True
print(os.path.isdir(c))-----------------#True
print(os.path.isdir(k))-----------------#False
“exists”判断文件或目录是否存在
print(os.path.exists(a))-----------------#True---存在
print(os.path.exists(k))---------------#True
print(os.path.exists(c))-------------#True
“listdir”列出指定目录下的所有目录和文件:
import os
s='C:\py\duoceshi63\dcs'
p=os.listdir(s)--------------------“listdir”获取指定包或者目录下的所有包,目录,文件。
print(p)
#['bao4', 'mulu2', 'rong.py', 'wang.py', 'zheng.py', '__init__.py']
split:分割文件名与目录
import os
k=r'C:\py\duoceshi63\dcs\rong.py'----------------rong.py文件的绝对路径
g=os.path.split(k)---------------------------------------分割
f=os.path.split(k)[0]---------------------------------先分割再通过切片,取索引为“0”的值。
print(g)--------------------------------#('C:\\py\\duoceshi63\\dcs', 'rong.py')
print(f)--------------------------------#C:\py\duoceshi63\dcs
print(g[1])----------------------------#rong.p------------指定索引位进行取值
join:连接目录与文件,或者目录与目录:
import os
c='C:\py\duoceshi63\dcs\wang.py'-------------------------------------------绝对路径
d=os.path.split(c)[0]--------------------------------------先分割,再通过索引位取绝对路径
g='file32'
p=os.path.join(d,g)-----------------------------------------------“join”拼接变量
print(p)------------------------------------------------------------#C:\py\duoceshi63\dcs\file32
k=os.path.join(d,'dodo')------------------------------------------变量+字符串
print(k)------------------------------------------------------------#C:\py\duoceshi63\dcs\dodo
u=os.path.join('C:\py','xiao','da','file88')------------字符串拼接
print(u)------------------------------------------------------------#C:\py\xiao\da\file88
mkdir:创建目录
import os
a=r'C:\py\duoceshi63\dcs\xiaoqian'
os.mkdir(a)--------------运行后会在C:\py\duoceshi63\dcs目录下生成一个目录xiaoqian:
rename:修改目录名
import os
e=r'C:\py\duoceshi63\dcs\mulu2'
p=r'C:\py\duoceshi63\dcs\xin'
os.rename(e,p)--------运行后会把C:\py\duoceshi63\dcs\下的“mulu2”改名为“xin”
remove:删除文件,不能删除目录
import os
s=r'C:\py\duoceshi63\dcs\rong.py'
os.remove(s)-------运行后会把C:\py\duoceshi63\dcs\下的文件“rong.py”删除。
当语句有冲突时,可以执行以下语句来完成:
import os
a=os.path.abspath(os.path.realpath(__file__))
print(a)-----------------------------------------#获取当前文件的绝对路径
#C:\py\duoceshi63\dcs\zheng.py
c=os.path.abspath(os.path.dirname(__file__))
print(c)----------------------------------------#获取当前文件所存放的上一级的包的绝对路径
#C:\py\duoceshi63\dcs
d=os.path.abspath(os.path.dirname(os.getcwd()))
print(d)---------------------------------------#获取当前项目的绝对路径
#C:\py\duoceshi63
f=os.path.split(os.path.realpath(__file__))
print(f)--------------------------------------#获取文件的绝对路径,再把文件名和包进行分割
#('C:\\py\\duoceshi63\\dcs', 'zheng.py')
q=os.path.split(os.path.realpath(__file__))[0]
print(q)#获取文件的绝对路径,再进行分割,然后再通过切片来获取索引值为0所对应的路径
#C:\py\duoceshi63\dcs
=======================================================================
|