模块和文件操作

模块和文件

1.os模块
  • os模块 ---- 提供文件或者文件夹(目录)或者路径相关的操作

  • 作用:创建文件夹,创建文件,删除文件,判断文件是否存在,获取路径,获取文件中的所有文件等等。

1.1返回当前工作目录
print(os.getcwd())
1.2获取指定文件夹中的所有内容
print(os.listdir(r'D:\千峰'))
1.3创建文件夹
os.mkdir(文件夹路径)
os.mkdir()  # 必须文件夹路径中只有最后一个不存在
os.makedirs() # 文件夹路径中不存在的文件夹都会创建出来
1.4返回绝对路径
os.path.abspath(相对路径) #返回相对路径的绝对路径
  • 绝对路径:文件或者文件夹在计算机中的全路径(Windows系统从盘开始写)

  • 相对路径:

    • 用“.”表示当前目录(当前代码文件所在的文件夹)(.\Str.py)
    • 用“…”表示当前目录的上层目录
1.5获取文件名
os.path.basname(文件路径) # 获取文件路径中的文件名
result = os.path.basename(r"D:\千峰\日常\第三周\day13-模块包和异常\package1\test.py")
print(result)
1.6检测路径是否有效
os.path.exists(文件路径) # 相对路径或者绝对路径
1.7判断是否是文件夹或是文件
os.path.isfile(路径) # 是否为文件
os.path.isdir(路径)  # 是否为目录
1.8把目录和文件名合成一个路径
os.path.join(文件名, 目录)
1.9分割路径中的文件名和拓展名(后缀)
url = r".\第二周\总结模板.md"
result = os.path.splitext(url)
print(result[-1])
2.数学模块

math和cmath,其中cmath针对复数

2.1浮点数转整数
math.ceil(浮点数)      # 往大取整
print(math.ceil(2.4345))

math.floor(浮点数)     # 往小取整
print(math.floor(2.4534))

round(浮点数)          # 大体可以看做四舍五入
print(round(2.5200012))
print(round(2.3345340))
2.2求绝对值
math.fabs(数字)  # 绝对值为浮点数
abs(数字)        # 获取绝对值,数据类型和原数据相同
print(math.fabs(-324234))
print(abs(-343.345))
3.random模块 ---- 随机模块
3.1产生随机整数
  • 产生随机整数
ra.randint(M, N)
print(ra.randint(10, 20))
  • 产生随机小数
ra.random()
print(ra.random())
  • ra.randrange(M, N, step) ---- 从range产生的数列中随机获得一个数
3.2洗牌
ra.shuffle(序列)   # 洗牌(随机打乱序列中的元素的顺序;序列必须是有序且可变的)
list1 = [12, 134, 34, 234, 222]
ra.shuffle(list1)
print(list1)
3.3抽牌
①ra.choice(序列) # 从序列中随机取一个数,序列无要求

②ra.choices(序列, k = 个数) # 从序列中获取指定个数的数(默认情况下元素权重相同;取数是一种有放回抽取)
ra.choices(序列, 权重序列, k = 个数) # 权重可以看做元素的份数

list1 = ["23", "45", "67", "876", "543"]
result = ra.choices(list1, cum_weights=[5, 10, 30, 30, 20], k=1)  # 权重
print(result)

③ra.sample(序列, k = 个数) # 从序列中随机获取指定个数元素(无放回抽取)
4.time模块
  • time.time() ---- 获取当前时间,得到的是时间戳

    • 时间戳:用指定时间到1970年1月1日0时0分0秒的时间(格林威治时间)差来表示时间,单位秒(节约内存)
  • time.localtime() ---- 获取本地当前时间,返回时间体结构

    • time.localtime() ---- 将时间戳转换成结构体时间
  • time.mktime(结构体时间) ---- 将结构体时间转换为时间戳

  • time.strftime(时间格式字符串, 结构体时间) ---- 将结构体时间转换成指定格式的字符串时间

    • time.strftime("%Y年%M月%D日 %H时%M分%S秒", 结构体时间)
  • time.strptime(字符串时间, 时间格式) ---- 将字符串时间转换为结构体时间

  • time.sleep(秒) ---- 让程序暂停指定时间

5.datetime模块
5.1datetime类
  • 获取当前时间
t1 = datetime.now()
print(t1)

t2 = datetime.today()
print(t2)
  • 获取具体的时间信息
t1 = datetime.now()
print(t1.year)
print(t1.month)
print(t1.day)
print(t1.hour)
print(t1.minute)
print(t1.second)
print(t1.weekday())
  • 字符串时间转datetime
    • datetime.strptime(字符串时间, 时间格式)
result = datetime.strptime('2011年2月4日', '%Y年%m月%d日')
print(result, result.weekday())
  • 将datetime转换成字符串
    • datetime时间对象.strftime(时间格式)
t1 = datetime.now()
result = t1.strftime('%Y/%m/%d %a')
print(result)
  • 将datetime转换成结构体时间
    • 时间对象.timetuple()
t1 = datetime.now()  # 当前时间
result = t1.timetuple() # 转为结构体时间
print(result)
print(time.mktime(result)) #将结构体时间转为时间戳
5.2timedelta ---- 完成时间的加减操作

timedelta在完成时间加减操作的时候时间只能以秒、分、时、周或者天为单位

  • 1小时以后时间
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')  # 字符串时间转为datetime
result = t2 + timedelta(hours=1)
print(result)
  • 1小时前的时间
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')
result = t2 - timedelta(hours=1)
print(result)
  • 三天后的时间
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')
result = t2 + timedelta(days=3)
print(result)
  • 1小时30分钟前的时间
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')
result = t2 - timedelta(hours=1, minutes=30)
print(result)
  • 三周前的时间
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')
result = t2 - timedelta(weeks=3)
print(result) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值