python学习之os,sys,time,random模块
一、os模块
作用:用于和操作系统进行交互
通用操作: 1.获取平台信息
2.对目录进行操作
3.判断操作
import os
# # 1. os.name # 只是正在使用的工作平台(返回操作系统类型)
# print(os.name)
# #对于windows返回nt,linux返回posix
# # 2. os.getenv (环境变量名称) # 读取环境变量
# print(os.getenv("path"))
# # 3. os.path.split() #把目录名和文件名分离,以元组的形式接收,第一个元素是目录路径,第二个元素是文件名
# print(os.path.split(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py"))
# o = os.path.split(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py")
# print(type(o))
# print(o[0])
# # # 4. os.path.dirname() # 显示split分割的第一个元素,即目录
# # # 5. os.path.basename() # 显示split分割的第二个元素,即文件名
# print(os.path.dirname(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py"))
# print(os.path.basename(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py"))
# print(os.path.basename(r"C:\Users\93634\Desktop\python学习\")) # 报错,如果文件路径以/结尾,那么就返回空值,如果以\结尾,报错
# # 6. os.path.exists() #判断路径(文件或目录)是否存在,存在的话就返回True,不存在就返回False
# print(os.path.exists(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py")) # True
# # # 7. os.path.isfile() #判断是否存在文件
# print(os.path.isfile(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py")) # True
# print(os.path.isfile(r"C:\Users\93634\Desktop\python学习")) #False
# # # 8. os.path.isdir() #判断目录是否存在
# print(os.path.isdir(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py")) #False
# print(os.path.isdir(r"C:\Users\93634\Desktop\python学习")) # True
# # # 9. os.path.abspath() 获取当前路径下的绝对路径
# print(os.path.abspath("文件的基础操作.py"))
# # 10. os.path.isabs() # 判断是否是绝对路径
# print(os.path.isabs(r"C:\Users\93634\Desktop\python学习\文件的基础操作.py")) #True
# print(os.path.isabs("文件的基础操作.py")) #False二、sys模块
作用:负责程序跟python解释器的交互
1.sys.getdefaultencoding():获取系统默认编码格式
2.sys.path:获取环境变量的路径,跟解释器相关
3.sys.platform:获取操作系统平台信息
4.sys.version:获取python解释器版本
# 导入模块 import sys # print(sys.getdefaultencoding()) # utf-8 # print(sys.path) # print(type(sys.path)) # <class 'list'> ,以列表的形式返回,第一项为当前所在的工作目录 # print(sys.path[0]) # print(sys.platform) # print(sys.version)
四、logging模块
作用:用于记录日志信息
日志的作用:
1.程序调试
2.了解软件程序运行是否正常
3.软件程序运行故障分析与问题定位
级别排序:(从高到底)
CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTEST
# 1.time.sleep() # 延时操作,以秒位单位
# print(12)
# time.sleep(2)
# print(123)
# 2.time.time() #获取当前的时间戳:以秒计算,从1970年1月1日 00:00:00开始到现在的时间差
# print(time.time())
# print(type(time.time())) #<class 'float'>
# 3.time.localtime() #将一个时间戳转换位当前时区的struct time,九个元素
# print(time.localtime())
# print(type(time.localtime())) #<class 'time.struct_time'>
# t = time.localtime()
# print(t[0])
# print(t.tm_year)
# 4.time.asctime() #获取系统当前时间,把struct time换成固定字符串表达式
# print(time.asctime())
# t = time.localtime()
# print(t)
# print(time.asctime(t))
# 5.time.ctime() #获取系统当前时间,把时间戳换成转换成固定字符串表达式
# print(time.ctime())
# t = time.time()
# print(t)
# print(time.ctime(t))# 6. time.strftime(格式话字符串,struct time) #将struct time 转换成时间字符串
# print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
# t = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
# print(type(t)) # <class 'str'># 7. time.strptime(时间字符串,格式化字符串) #将时间字符串转换为struct time
# print(time.strptime("2025-11-2",'%Y-%m-%d'))
# t = time.strptime("2025-11-2",'%Y-%m-%d')
# print(type(t)) #<class 'time.struct_time'>五、random模块
作用:用于实现各种分布的伪随机数生成器,可以根据不同的实数分布来随机生成值
1. random.random(): 产生大于0且小于1之间的小数
2. random.uniform(a,b): 产生指定范围的随机小数
3. random.randint(a,b): 产生a,b范围内的随机整数,包含开头和结尾
4. random.randrange(start,stop,[step]): 产生start,stop范围内的整数,包含开头不包含结尾
# 导入模块 import random # for i in range(10): # print(random.random()) # for i in range(10): # print(random.uniform(10,20)) # for i in range(10): # print(random.randint(2,8)) for i in range(10):print(random.randrange(2,8,2))
