找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

python模块:time,random,hashlib.md5,string,os

[复制链接]


1626965303932.jpg
=============================================

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,choiceshuffle


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

=======================================================================







分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册