Python之模块

random模块

生成随机模块,也是一个内置模块

# 随机小数:

print(random.random())        # 0.7664338 大于0且小于1之间的小数
print(random.uniform(1,3))    # 1.62701 大于1小于3的小数
# 随机整数:

print(random.randint(1,5))     # 大于等于1且小于等于5之间的整数
print(random.randrange(1,10,2))    # 大于等于1且小于10之间的奇数
# 随机返回:

random.choice([1,'23',[4,5]])        #1或者23或者[4,5]
random.sample([1,'23',[4,5]],2)   # 列表元素任意2个组合     [[4, 5], '23']
# 打乱列表顺序:

random.shuffle( ) # 打乱次序
item=[1,3,5,7,9] 
random.shuffle(item)  
print(item)    # [5, 1, 3, 7, 9]
"""不要赋值,是列表,打乱顺序的还是原值"""


练习:生成随机订单号

import random
import time
 
def outer(n=18):
    new_order = 'SF'+ time.strftime('%Y%m%d%H%M%S') # 加上时间戳年月日时分秒
    for i in range(n):
        some_number = str(random.randint(0,9))     # 整数0-9
        some_upper_word = chr(random.randint(65,90))    # 大写字母
        some_litter_word = chr(random.randint(97,122))  # 小写字母
        all_number = random.choice([some_number,some_upper_word,some_litter_word])
                            #随机取一个
        new_order += all_number   # 订单号拼一起
    return  new_order
print(outer())


os模块

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

# 生成目录,创文件夹

os.mkdir('myfirst')    生成单级目录,创文件夹
os.makedirs('myfirst/mysecond/mythird')    可生成多层递归目录
# 删目录,删文件夹

os.rmdir('dirname')     删除单级空目录
os.removedirs('dirname1')    若目录为空,则删除,并递归删除
# 查看文件夹子目录

os.listdir('dirname')    列出子目录,包括隐藏文件,并以列表方式打印
# 文件的相关操作(.text)

os.remove(r'路径')  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
# 运行命令

os.system("tasklist")  运行shell命令,直接显示
os.popen("tasklist").read()  运行shell命令,需要print才能调用结果
os.getcwd()    获取当前工作路径
os.chdir("dirname")  改变当前路径
import os
res = os.getcwd()    # 路径day27
os.chdir(r'路径bbb')
res1 = osos.getcwd() 
print(res1)    # 路径bbb


# 路径相关 os.path

os.path.abspath(path)  返回path规范化的绝对路径
os.path.dirname(path) 返回path的目录,往上查找路径
res = os.path.dirname(os.path.dirname(os.path.dirname(r'D:\Python27\day22\code\aaa')))
print(res)   # 'D:\Python27'
os.path.basename(path) 返回path最后的文件名
res = os.path.basename(r'D:\Python27\day23\bbb\3.txt')
print(res)    # 3.txt
os.path.exists(path)    如果path存在,返回True;如果path不存在,返回False
if not os.path.isabs(path):
    os.mkdir(path)    # 如果不存在,创建
os.path.isfile(path)     判断path是否是文件,True\False
os.path.isdir(path)      判断path是否是文件夹,True\False
os.path.join(路径,路径)     拼接路径
base_dir = '路径'
path = base_dir + '\\' + 'bbb' + '\\' + 'aaa'
print(path)
os.path.join(base_dir, 'bbb', 'aaa')
os.path.getatime(path)   返回最后访问时间
os.path.getmtime(path)  返回最后修改时间
os.path.getsize(path)     返回path的大小,字节为单位,可以判断是否为空
# os模块属性

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


练习:查看视频

"""
1. 仓老师.mp4
2. 李老师.mp4
3. 小文老师.mp4
4. 何老师.mp4
"""import os
 
# print(__file__) # D:/Python27/day23/03 播放小视频练习.py
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
data_movie_list_path=os.path.join(BASE_DIR, '小视频') #
data_movie_list=os.listdir(r'%s' % data_movie_list_path)
print(data_movie_list)  # ['仓老师.mp4', '李老师.mp4', '小文老师.mp4', '何老师.mp4']
 
while True:
    for i, j in enumerate(data_movie_list):
        print(i + 1, j)
 
    choice = input('请输入你想看的视频序号:').strip()
 
    # 1. 判断输入的内容必须是数字
    if choice.isdigit():
        # 2. 输入的数字范围必须是文件的个数
        # 1 2 3 4 5 6
        choice = int(choice)
        if choice in range(1, len(data_movie_list)+1):
            # 3. 拼接成: D:\Python27\day23\视频\仓老师.mp4
            video_file_path=os.path.join(data_movie_list_path, data_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.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        获取Python解释程序的版本信息
if sys version < '2.7':
    print('当前版本过低,请更新')
sys.path           返回模块的搜索路径
sys.platform       返回操作系统平台名称
sys.argv           命令行参数List,第一个元素是程序本身路径
import sys
print(sys.argv)
# '\Python27\day22\bbb.py'  kevin 123
try:
    username = sys.argv[1]
    password = sys.argv[2]
except Exception as e:
    print('参数异常')
print(username)

print(password)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值