random模块是Python中用于生成随机数的标准库。它包含了多种生成随机数的函数,如生成随机整数、随机浮点数、随机字符等等
一.random模块
1. random 使用
1.导入模块
'''导入模块''' import random
2.随机小数uniform
import random print(random.uniform(1,4))
3.随机整数randint
import random print(random.randint(1, 10))
4.随机选择一个或多个样本
import random print(random.choice(['一等奖', '二等奖', '三等奖', '四等奖']))
5.打乱顺序
import random l1 = [1, 3, 4, 6, 77, 44,33] random.shuffle(l1) print(l1)
2. 生成一个随机验证码
import random
def index(n):
code = ''
for i in range(n):
random_int = str(random.randint(0, 9))
random_upper = chr(random.randint(65, 90))
random_lower = chr(random.randint(97, 122))
code += random.choice([random_int, random_upper, random_lower])
return code
res = index(4)
print(res)
二. os模块
1.os模块的常用方式
Python的os模块是用来与操作系统进行交互的模块,它提供了许多有用的方法来处理文件和目录,以及进行进程管理等操作。
以下是os模块中几个常用的方法:
1. os.getcwd():获取当前工作目录
2. os.chdir(path):改变当前工作目录
3. os.listdir(path):返回指定目录下的所有文件和文件夹名称列表
4. os.mkdir(path):创建新目录
5. os.rmdir(path):删除指定目录
6. os.remove(path):删除指定文件
7. os.path.exists(path):检查路径是否存在
8. os.path.join(path1, path2, ...):拼接路径,返回一个合法的路径字符串除了以上方法,os模块还提供了许多其他的功能。同时,os模块也是跨平台的,可以在不同的操作系统上使用。
2. os模块生成目录
1.生成单级目录
import os
os.mkdir('my_first')
import os
'''只能创建一层目录'''
2.生成多层目录
import os
os.makedirs('myfirst/mysecond/mythird')
'''创建多层目录'''
3. 删除单级空目录
import os
os.rmdir('aaa')
'''删除空的单级目录,如果删除的不存在或有文件的情况下,会报错'''
import os
os.removedirs(r'D:\Python27\day23\myfirst\mysecond')
'''若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推'''
4. 列出指定目录的子文件
import os
os.listdir('D:\pythonProject2\pythonProject1\pythonProject')
'''列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印'''
5.查看目录信息
import os
res = os.stat('D:\pythonProject2\pythonProject1\pythonProject')
print(res)
'''查看目录信息'''
6.判断路径是否存在(文件,目录)
print(os.path.exists(r'01 os模块.py')) # 判断文件路径是否存在 True
print(os.path.exists(r'D:\pythonProject2\my_first')) # 判断目录是否存在 True\
print(os.path.isfile(r'01 os模块.py')) # 判断路径是否是文件 True
print(os.path.isfile((r'D\:pythonProject2\my_first')) # 判断路径是否是文件 False
print(os.path.isdir(r'01 os模块.py')) # Falae
print(os.path.isdir(rD:\pythonProject2\pythonProject1\pythonProject\myfirst)) # True
7.路径接口
s1 = r'D:\PycharmProjects\test19'
s2 = r'01 os模块.py'
print(f'{s1}\{s2}') # D:pythonProject2\my_first1 os模块.py
""" 设计到路径拼接一定不要自己做,因为不同的操作系统路径分隔符不一样"""
print(os.path.join(s1,s2)) # D:\pythonProject2\my_first os模块.py
8.获取对应文件的大小
import os
print(os.path.getsize(r'myfirst'))
练习题:
"""
1. jerry老师.mp4
2. kevin老师.mp4
3. tank老师.mp4
4. tony老师.mp4
"""
import os
bast_dir = os.path.dirname(os.path.abspath(__file__))
date_movie_list_path = os.path.join(bast_dir, '视频')
date_movie_list = os.listdir(r'%s' % date_movie_list_path)
while True:
for i in enumerate(date_movie_list):
print(i + 1, i)
choice = input('输入视频序号')
if choice.isdigit():
choice = int(choice)
if choice in range(1, len(date_movie_list) + 1):
# 3. 拼接成: D:\Python27\day23\小视频\jerry老师.mp4
video_file_path = os.path.join(date_movie_list_path, date_movie_list[choice - 1])
print(video_file_path)
# 4. 播放:读取文件
with open(video_file_path, 'r', encoding='utf-8') as f:
print(f.read())
三. sys模块
sys模块是与python解释器交互的一个接口
sys是内置的一个Python模块,提供了访问与Python解释器强相关的变量和函数的函数。以下是一些sys模块的常用函数:
sys.argv:获取命令行参数,argv是一个列表,其中第一个元素是程序本身,后面的元素是在命令行后面跟随的参数。
sys.path:是一个字符串列表,包含Python解释器搜索模块的路径。可以使用sys.path.append()将自定义路径添加到搜索路径。
sys.exit([arg]):中断程序执行,如果有arg参数,则会返回给调用进程。通常用于非正常退出程序的情况。
sys.platform:返回当前运行Python解释器的平台信息。
sys.stdin, sys.stdout, sys.stderr:分别表示标准输入、标准输出和标准错误输出,在控制台输入输出时,可以使用这三个对象。
sys.version_info:返回当前Python解释器的版本信息,包括major、minor和micro版本号。
上述是sys模块的主要用法,常用于与操作系统进行交互、调试和异常处理等方面。
import sys
print(sys.path) # 获取执行文件的sys.path
print(sys.getrecursionlimit()) # 获取python解释器默认最大递归深度
print(sys.setrecursionlimit(2000)) # 修改python解释器默认最大递归深度 None
print(sys.version) # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)] 查看系统版本信息
print(sys.platform) # 平台信息 win32 (了解即可)
res = sys.argv
if len(res) != 3:
print('执行命令缺少了用户名或密码')
else:
username = res[1]
password = res[2]
if username == 'kiki' and password == '123':
print('kiki,您的文件正在正常执行')
else:
print('你不是kiki,无权执行该文件')