找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
第7讲  python 中的模块
1、模块的定义
1)包和目录的区别:包和模块都可以被其他模块导入,但是目录不行
2)新建一个包里面有一个默认的初始化__init__.py,这个模块是用来初始化初始化当前这个包的所有内容
3)有__init__.py称为包
4)python 中分为自带默认和自己建模块
2、导入模块
1)import 语句
模块定义好了后,可以使用import语句来导入
import time      #time 是模块第三方模块
time模块中常见的方法:
time() #1970到现在的经过的秒数
print(time.time())    #1656313635.5406518   前面的time是模块,后面是函数
ctime() #固定格式的当前时间
print(time.ctime())      #Mon Jun 27 15:08:00 2022
sleep(3) #休眠 单位是秒
time.sleep(3)     #线程等待3s
asctime() #转换为asc码显示当前时间
print(time.asctime())      #Mon Jun 27 15:09:35 2022
strftime() #时间格式化
print(time.strftime('%Y-%m-%d-%H-%M-%S'))   #2022-06-27-15-11-54
2、from ....import ...语句 通过模块名导入函数名
from time import time    #从time 模块中导入time函数
from time import ctime   #从time 模块中导入time函数
from time import sleep   #从time 模块中导入sleep函数

print(time())     #1656315149.9833894
print(ctime())   #Mon Jun 27 15:32:54 2022
sleep(3)
3、from ...import *    语句
from time import *    #把time模块中的类 函数 变量等全部导入进来
print(time())
sleep(3)
4、第四种导入门口的方法,通过取别名
from time import sleep as s
from time import ctime as c

print(c())
s(3)
5、并列导入多个模块
import time,os,sys,re,json
6、跨包导入模块
通过包名点模块名导入
from dcs7.test import *
7、python 中的random 模块生成随机浮点数、整数、字符串,甚至帮助你随机选
择列表序列中的一个元素,打乱 一组数据等
random模块中常见的方法:
import random
random.random() #该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1
print(random.random())   #0.8646211334826821
random.randint(x,y) #该方法生成指定范围内整数,包括开始和结束值
print(random.randint(1,5))
random.randrange(x,y,step) #生成指定范围内的奇数,不包括结束值
print(random.randrange(1,11,2))
random.randrange(x,y,step) #生成指定范围内的偶数,不包括结束值
print(random.randrange(0,12,2))
random.sample(seq,n) #从序列seq中选择n个随机且独立的元素
list1 = [1,2,3,4,5]
print(random.sample(list1,3))      #[2, 5, 3]
random.choice(test) #生成随机字符
str1 = '!@#$%1234'
print(random.choice(str1))
random.shuffle(list) #洗牌(随机数列)
list1 = [1,2,3,4,5]
random.shuffle(list1)
print(list1)   #[3, 2, 1, 4, 5]
hashlib.md5() #MD5加密
import hashlib    #导入hashlib
md5 = hashlib.md5()     #通过hashlib模块中的md5函数创建一个对象
md5.update('123456'.encode('utf-8'))
print(md5.hexdigest())      #e10adc3949ba59abbe56e057f20f883e
#通过对象调用hexdigest函数生成一个16进制32位的字符串
练习题
import hashlib
import random
import string
num = string.digits
str1 = string.ascii_letters
print(str1)   #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(num)    #0123456789
1)使用random模块随机生成手机号码,自己定义手机号码开头前三位
def test():
list1=['139']
num = string.digits    #0-9
for i in range(8):
list1.append(random.choice(num))
print(''.join(list1))

test()
2)用random 模块随机生成6位验证码
def code():
num = string.ascii_letters+string.digits
return (''.join(random.sample(num,6)))      #会生成一个列表
print(code())    #Rs5XGl
3)通过md5加密把上面的验证码密码成32位的字符串
def encode():
value = code()    #函数的传递
md5 = hashlib.md5()
md5.update(value.encode('utf-8'))
print(md5.hexdigest())
encode()
8、python 中的os模块
os模块中常见的方法:
import os
os.getcwd()获取当前执行命令所在目录
print(os.getcwd())    #C:\my_project\dcs\dcs7
os.path.isfile()判断是否文件
print(os.path.isfile(r'C:\my_project\dcs\dcs7\lesson7.py'))   #True
os.path.isdir() #判断是否是目录
print(os.path.isdir(r'C:\my_project\dcs\dcs7'))       #True
os.path.exists() #判断文件或目录是否存在
print(os.path.exists(r'C:\my_project\dcs\dcs7'))     #True
os.listdir(dirname) #列出指定目录下的目录或文件
print(os.listdir('C:\my_project\dcs'))
#['.idea', 'api_auto', 'app_auto', 'db_auto', 'dcs', 'dcs7', 'ui_auto']
os.path.split(name) #分割文件名与目录
print(os.path.split(r'D:\gongju\fiddler'))     #('D:\gongju', 'fiddler')
os.path.join(path,name) #连接目录与文件名或目录
print(os.path.join('C:\my_project\dcs\dcs7','lesson7'))
#C:\my_project\dcs\dcs7\lesson7
os.mkdir(dir) #创建一个目录
os.mkdir(r'C:\my_project\dcs\dcs7\test1')
os.rename(old,new) #更改目录名称
os.rename(r'C:\my_project\dcs\dcs7\test1',r'C:\my_project\dcs\dcs7\test2')

分享至 : QQ空间
收藏
您需要登录后才可以回帖 登录 | 立即注册