常用模块的扩展
一、random模块
import random # 随机
1.直接random.random(),会随机生成0到1之间的一个浮点数(不包含1)
print(random.random())
2.randint,关键字是int,括号内只能传入整形,会随机生成两个参数之间的整数(两者都包含)
print(random.randint(1, 10))
3.randrange,关键字是range,括号内也只能传整形,会随机生成两个参数之间的整数(顾头不顾尾)
print(random.randrange(1, 10))
4.sample,将一个指定的范围,随机取出1个或多个值(取决于参数),可以传入字符串或多个列表
print(random.sample([1, 2, 3, 4, 5, 6], 2))
5.shuffle,将一个指定的范围打乱顺序,类似与扑克里的洗牌
l1 = ['1', '2', '3', '4']
random.shuffle(l1) # 注意分层进行不可一行实现
print(l1)
6.choice,随机选择一个
print(random.choice([1, 2, 3]))
7.choices,随机选择多个,取决于k,取出的值是可以重复的
print(random.choices([1, 2, 3, 4, 5], k=2))
8.uniform,随机选择范围内的浮点数,与random.random不一样的是uniform可以规定范围
print(random.uniform(1,3))
9.使用random模块完成随机验证码:
def get_auth_code(length):
res = ''
for i in range(length):
a = random.randint(0, 9)
b = chr(random.randint(65, 90)) # chr可以将括号内的数字转换成ascii码表所对应的大写字母
c = chr(random.randint(97, 122)) # chr可以将括号内的数字转换成ascii码表所对应的小写字母
s = random.choice([a, b, c]) # 将每个元素内的值随机取出一个,依次循环
res += str(s) # res不能和整形相加,所以要将随机取出的值转换成str类型
print(res)
get_auth_code(6)
二、sys模块
import sys # 在python解释器下的sys模块
1.查看环境变量
print(sys.path)
2.查看内存中已加载的模块
print(sys.modules)
3.获取终端调用时的参数
print(sys.argv)
4.获取当前解释器版本信息
print(sys.version)
5.获取当前平台名称
print(sys.platform)
6.exit() 退出sys,括号内的参数默认为0(正常退出)
exit()
需要了解的知识点:
print(sys.api_version) # 接口版本
print(sys.maxsize) #
print(sys.maxunicode) # Unicode当前记录的编码数量
三、os模块与os.path
import os # 与操作系统交互达到对文件的读写操作
# 1.getcwd,获取当前的工作目录
print(os.getcwd())
# 2.chdir,切换工作目录到某某
# print(os.chdir(r'D://a/b/c'))
# 3.curdir,返回.或..查看目录等级(1个.当前目录,两个..是上级目录)
print(os.curdir)
# 4.environ,系统的环境变量
print(os.environ)
print(os.system('dir'))
# 需要掌握的知识点:
# 1.makedirs,在当前文件夹下创建文件目录,可递归创建,即会一次性创建多个递归形式的文件夹
# print(os.makedirs('a/b/c'))
# 2.mkdirs,也是在当前文件夹下创建目录,只能创建一个文件夹
# print(os.mkdir('ABC'))
# 3.removedirs,删除文件,也可递归删除,若文件夹内有文件则保留,没有则删除
# os.removedirs('a/b/c')
# 4.os.rmdir,删除单个目录
# os.rmdir('ABC')
# 5.os.remove,只能删除文件
# os.remove()
# 6.os.listdir(),列出当前目录内所有文件夹与文件名称
# print(os.listdir())
# 7.os.sep,获取当前平台的路径分隔符
# print(os.sep)
# 8.os.linesep,获取当前平台的换行符
# print(os.linesep)
四、shutill
import shutil # 用于简化文件操作的模块
# 1.copyfileobj,用于拷贝文件
shutil.copyfileobj('源文件路径rb', '拷贝路径wb')
# 2.make_archive,压缩文件
shutil.make_archive('压缩文件', 'zip', '文件路径')
shutil.make_archive('压缩文件', 'tar', '文件路径')
# 3.解压文件的方法1:
# 使用shutil直接解压,关键字:unpack_archive
shutil.unpack_archive(r'要解压的文件路径')
# 解压的方法2:使用相应的解压模块来解压
import zipfile
# 这里只能针对zip格式的压缩包进行解压
z = zipfile.ZipFile(r'要解压的文件路径', 'r')
z.extractall(path=r'解压目录')
z.close() # 关闭文件
# 使用zipfile进行压缩
z = zipfile.ZipFile(r'要压缩的文件路径', 'w')
z.write('要压缩的文件路径1')
z.write('要压缩的文件路径2')
z.close() # 关闭文件
# ==============================================
# 解压的方法3:这里只能针对tar格式的压缩包进行解压
import tarfile
t = tarfile.open(r'要解压的文件路径', 'r')
t.extractall(r'解压目录')
t.close() # 关闭文件
# 使用tarfile进行压缩
t = zipfile.ZipFile(r'要压缩的文件路径', 'w')
t.add('要压缩的文件路径1')
t.add('要压缩的文件路径2')
t.close() # 关闭文件