第二十三章 random、os、sys模块

本文介绍了Python中random模块用于生成随机数的功能,包括随机小数、整数和列表的选择,以及os模块的强大功能,如文件和目录操作、路径处理和与系统交互。同时提到了sys模块的一些基本用法。

random模块

生成随机数模块

生成随机小数:

print(random.random())  #生成大于0小于1的小数

print(randoom.uniform(1,6))  #生成大于1小于6的随机小数

生成随机整数:

print(random.randint(1,10))  #生成大于1小于10的随机整数

print(random.randrange(1,10,2)  #生成大于1小于10的随机奇数,2为步长

随机选择返回一个数:

print(random.choice([1,2,3,4,5,6,7]))

随机选择多个返回,返回的个数为函数的第二个参数

print(random.choice([1,2,3,4,5,6,7[1,2],'asd'],2))

打乱列表顺序:

item=[1,3,5,7,9]
random.shuffle(item)

循环生成随机验证码:

import random


def get_code(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))
        temp=random.choice([random_lower,random_upper,random_int])
        code+=temp
    return code

print(get_code(4))

os模块

os模块是与操作系统交互的一个接口

1、os.mkdir('myfirst')  #生成单层目录

2、os.makedirs('myfirst/mysecond/mythird')  #生成多层递归目录

3、os.rmdir('mythird')  #删除单级空目录,如果目录不为空则无法删除

4、os.removedirs(r'myfirst/mysecond/mythird')  #若目录为空,则删除,递归到上一层,如果也为空,则删除

5、os.rename('oldname','newname')  #重命名

6、os.stat('myfirst')  #获取文件/目录信息

7、os.listdir  #列出指定目录下所有文件和子目录,包括隐藏内容,并以列表方式打印

8、os.system("bash command")  运行shell命令,直接显示

9、os.popen("bash command).read()  运行shell命令,获取执行结果

10、os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

11、os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd

12、os.path.abspath(path) 返回path规范化的绝对路径os.path.split(path) 将path分割成目录和文件名二元组返回

13、os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 

14、os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值,可以验证后缀名,png jpg jpeg

15、res=os.path.dirname(r'D:\Python27\day23') # 返回path的目录。其实就是os.path.split(path)的第一个元素

16、res=os.path.exists(r'D:\Python27\day23\bbb\3.txt')  # 如果path存在,返回True;如果path不存在,返回False

17、res=os.path.isabs(r'ccc')  # 如果path是绝对路径,返回True

18、res=os.path.isfile(r'D:\Python27\day23\bbb\3.txt')  # 如果path是一个存在的文件,返回True。否则返回False

19、os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False

20、os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

21、stat结构:

st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间

22、path.getatime(path)  返回path所指向的文件或者目录的最后访问时间

23、os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

24、os.path.getsize(path) 返回path的大小

查看视频联系:

import os
base_dir=os.path.dirname(os.path.abspath(__file__))
data_movie_list_path=os.path.join(base_dir,'movies')
data_movie_list=os.listdir(r'%s' % data_movie_list_path)

# print(base_dir)
print(data_movie_list)

while True:
    for i,j in enumerate(data_movie_list):
        print(i+1,j)
    choice=input('请输入观看的视频序号:').strip()
    if choice.isdigit():
        choice=int(choice)
        #拼接成D:\pythonProject\fuzi\mokuai\movies\1.mp4
        if choice in range(1,len(data_movie_list)+1):
            video_path=os.path.join(data_movie_list_path,data_movie_list[choice-1])
            print(video_path)
            #播放视频
            with open(video_path,'r',encoding='utf8') as f:
                print(f.read())

os模块属性

os.sep    #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep   # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
os.pathsep    #输出用于分割文件路径的字符串, win下为;,Linux下为:
os.name    #输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

sys模块

sys模块是与python解释器交互的一个接口

sys.argv           #命令行参数List,第一个元素是程序本身路径
sys.exit(n)        #退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        #获取Python解释程序的版本信息
sys.path           #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform      # 返回操作系统平台名称

import sys
try:
    sys.exit(1)
except Excepetion as e:
    print(e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值