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)