day14文件模块、随机和时间
1.os模块
提供文件和文件夹目录或者路径操作
例如:创建文件夹,创建文件,删除文件,判断是否存在,获取绝对路径,获取文件夹的所有文件等
1)返回当前工作目录
print(os.getcwd())—返回当前工作目录
2)获取指定文件的文件内容和名字
os.listdir()
3)创建文件夹
os.mkdir() ----------只有最后的文件才能创建
os.makedirs()-----递归创建文件夹
4)返回绝对路径
os.path.abspath(相对路径)
5)获取文件名
os.path.basename()
6)检测路径是否有效
os.path.exists()
7)判断是否是文件或者文件夹
os.path.isfile()–是否是文件
os.path.isdir()–是否是文件夹
8)把目录和文件夹合成一个路径
os.path.join(目录,文件)
9)获取文件的扩展名(后缀)
os.path.splitext()
2.math数学模块
1)浮点型转整型
math.ceil(浮点数)
math.floor(浮点数)
# print(math.ceil(2.78)) #3
# print(math.ceil(2.18)) #3
# print(math.floor(2.08)) #2
# print(math.floor(2.88)) #2
2)求绝对值
math.fabs(数字)
3.随机模块random
随机整数:random.randint(M,N)--产生M到M的随机整数
随机小数:random.random()---随机产生小数
random.randrange(M,N,step)---在指定的等差数列中随机获取一个数
random.shuffle(列表)---洗牌,随机打乱元素顺序
random.choice(序列)--从序列中随机获取一个元素
random.choices(序列,weight=[相对权重]key=个数)--从序列中随机获取多个元素
random.sample(序列,k=个数,count=[一一对应的权重])--从序列中随机抽取,无放回
print(random.randint(1,10))
print(random.random())
num1=[11,22,33,44,55,66,77]
print(random.shuffle(num1))
# print(random.shuffle(num1))
print(random.choice(num1))
print(random.sample(num1,k=3))
num1=[11,22,33,44,55,66,77]
print(random.choices(num1,[1,0,0,0,0,0,1],k=2))
4.time模块
1)time.time()–获取时间戳
#1646294717.108309
2)time.localtime()–获取本地当前时间,返回结构体时间
t2=time.localtime()
print(t2)
#time.struct_time(tm_year=2022, tm_mon=3, tm_mday=3, tm_hour=16,
# tm_min=24, tm_sec=36, tm_wday=3(星期从0开始算), tm_yday=62(今年的62天), tm_isdst=0)
#4time.strftime()
3)time.strftime(时间格式字符串,结构体时间)
time1=time.strftime('%Y/%m/%d %H:%M:%S')
print(time1)
4)time.strptime(字符串时间,时间格式)
t1='1992-3-4'
result=time.strptime(t1,'%Y-%m-%d')
print(f'周{result.tm_wday+1}')
#2022/03/03 19:25:05
5)time.sleep(时间)–让程序暂停时间
time.sleep(3)
print('=======')
4。获取当前时间
from datetime import datetime,timedelta
#1.获取当前时间
t1=datetime.now()
print(t1,type(t1))
#2.获取具体的时间信息
print(t1.year)
print(t1.month)
print(t1.day)
print(t1.hour)
#3将datetime转换成字符串
#datetime为时间对象.strftime(时间格式)
# result=datetime.strftime('%Y/%m/%d')
# print(result)
#4将datatime转换成结构体时间的加减操作
#注意:timedalta在完成时间加减操作的时候时间只能以秒,分时,周,或者天为单位
#时间对象+/-timedelta()
t2=datetime.strptime('2022-12-31 23:59:40','%Y-%m-%d %H:%M:%S')
#1个小时的时间
result=t2-timedelta(hours=1)
print(result)
#3天后
result=t2+timedelta(hours=1,minutes=30)
print(result)