# 第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 hashlibimport randomimport 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')
|
|