Python-随机数模块&os模块&time模块

1.随机数模块

import random # 导入随机数模块

list0 = [1, 2, 3, 4]
random.randint(1, 100)  # 生成1到100之间的随机数,包括1和100
random.sample([1, 2, 3, 4], 2)  # 随机从[1,2,3,4]中取2个元素
random.choice(list0)  # 只能随机取一个元素
random.uniform(1, 9)  # 取1到9之间随机的小数
random.shuffle(list0)  # 打乱list0的顺序,但此函数没有返回值,不会产生新的东西

 

2.os模块

import os

os.rename('old', 'new')  # 重命名文件
os.remove('abc.txt')  # 删除文件
os.listdir('.')  # 列出某个目录下的所有内容,只有一个.表示当前目录
os.listdir(r'e:\work\abc')  # r表示不使用转义字符
os.getcwd()  # 获取当前目录
os.path.getsize('abc.txt')  # 获取某个文件的大小
os.mkdir(r'e:\work\abc')  # 创建文件夹,当父目录不存在时,会报错
os.makedirs(r'e:\work\abc')  # 创建文件夹,当父目录不存在时,会自动创建
os.path.exists(r'e:\work\abc')  # 判断某个文件或目录是否存在
os.path.isdir(r'e:\work\abc')  # 判断是否是文件夹
os.path.isfile(r'e:\work\abc')  # 判断是否是文件
os.chdir(r'e:\work\abc')  # 进入某个目录
os.system('ipconfig')  # 执行操作系统的命令;只能执行命令,但是拿不到执行命令的结果;会有乱码情况
os.popen('ipconfig').read()  # 执行操作系统的命令,拿到执行命令的结果;无乱码
os.cpu_count()  # 获取电脑cpu核心数
os.path.join('test', 'case', 'abc.txt')  # 连接路径,不用管路径分隔符之类,自动拼接完成
p = r'e:\work\abc.txt'
os.path.split(p)  # 分割文件路径和文件名
os.path.dirname(p)  # 取父目录名称
os.path.abspath('.')  # 根据相对路径获取绝对路径,'.'表示当前目录
os.path.getctime()  # 文件创建时间
os.path.getatime()  # 文件最后访问时间
os.path.getmtime()  # 文件最后修改时间
# 练习1:查找E盘中所有的txt文件
count = 0
for cur_dir, dirs, files in os.walk(r'e:'):
    # 必须写三个参数,cur_dir当前循环到那个目录,dirs当前目录下的所有文件夹,files当前目录下的所有文件
    for f in files:
        if f.endswith('.txt'):
            count += 1
print(count)
# 练习2:查找MP4文件
for cur_dir, dirs, files in os.walk(r'/'):
    print('当前正在%s目录下查找' % cur_dir)
    for f in files:  # 当前目录下的所有文件
        if f.endswith('.mp4'):
            real_path = os.path.join(cur_dir, f)
            # os.remove(real_path)
            print('发现一个小电影【%s】,目录正在 【%s】' % (f, cur_dir)):

 

3.time模块

import time # 导入time模块

time.time()  # 获取当前时间戳,float类型
time.strftime('%Y-%m-%d %X') # 获取当前格式化时间,小写y表示两位数的年份,X表示时分秒
time.strftime('%y%m%d %H:%M')  # %H:%M表示时分,想要获取哪个就写哪个即可

# 时间戳转格式化时间步骤:
tim = time.gmtime(1556606465)  # 将时间戳转化成时间元组,gmtime取得是标准时区的时间,与中国时间差8小时
print(time.strftime('%Y-%m-%d %X', tim))  # 将时间元组转化成和格式化时间
time.localtime(1556606465)  # 将时间戳转化成时间元组,localtime取得是当地的时间

# 格式化时间转化成时间戳步骤:
tim1 = time.strptime('1988-03-12 12:22:32', '%Y-%m-%d %X')  # 格式化时间转化成时间元组;前后格式保持一致即可
print(time.mktime(tim1))  # 时间元组转化成时间戳
# 练习1
def str_to_timestamp(str_time=None, format='%Y-%m-%d %X'):
    '''格式化时间转化成时间戳,若不传入,则获取当前时间戳'''
    if str_time:
        tim = time.strptime(str_time, format)
        return int(time.mktime(tim))
    return int(time.time())
# 练习2
def timestamp_to_str(timestamp=None, format='%Y-%m-%d %X'):
    '''时间戳格式化时间,若不传入时间戳,则获取当前格式化时间'''
    if timestamp:
        tim = time.localtime(timestamp)
        result = time.strftime(format, tim)
        return result
    return time.strftime(format)

 

posted @ 2019-05-21 17:50  情绪疯子  阅读(447)  评论(0编辑  收藏  举报