一、OS模块
总结:
os模块——》对文件目录进行操作 ——-》实现对文件目录操作与管理
1、创建删除修改重命名文件目录
2、获取项目目录路径
常用四个函数:
os.getcwd()
os.path.dirname(path)
os.path.join(path1,path2)
os.path.split(path1)
3、获取文件目录属性
4、修改查询文件权限
os.chmod(path_A, stat.S_IROTH)
文件权限有哪些?
# os.getcwd() 获取当前.py文件所在的项目路径‐‐‐》os.getcwd()
file_path=os.getcwd()
# 获取file_path上一级路径 ‐‐‐‐》os.path.dirname(path)
dirname=os.path.dirname(file_path)
print("目录路径:",dirname)
print("获取当前项目路径",file_path)
# 05时间模块异常处理‐‐>创建文件A 路径拼接 os.path.join(path1,path2)
path_A=os.path.join(file_path,"A")
print(path_A)
# os.mkdir(path_A)
# 路径拆分 目录+文件 ‐‐‐》os.path.split(path1)
path1="E:\VIP\M211\Code\class08\os模块应用.py"
new=os.path.split(path1)
print(new)
# 获取目录或者文件的访问权限
# Mode:os. F_OK(是否存在)、os.R_OK(可读 )、os.W_OK(可写)、os.X_OK(可执行)
value=os.access(path_A,os.F_OK)
isread=os.access(path_A,os.R_OK)
iswrite=os.access(path_A,os.W_OK)
print(value,isread,iswrite)
# OTH 其他用户 GRP 用户组 USR拥有者 R 可读 X 可执行 W 可写
os.chmod(path_A, stat.S_IROTH)
二、time模块
Python编程中经常会用到time和datetime来处理日期和时间
时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
时间戳:1970年01月01日00时00分00秒到现在的总秒数
t = (2018,6,24,16,56,45,0,0,0)
#(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时<1(夏令时)、0(不是夏令时)、-1(未知),默认 -1>)
总结:time ——》处理时间
时间戳 获取总秒数
时间元组—-》9个元组 年月日…
常用函数:
获取时间元组: time.localtime()
获取时间戳: time.time()
把时间元组转化成时间戳: time.mktime(时间元组)
把时间戳转化时间元组: time.localtime(时间戳)
字符串与时间元组相互转化
时间元组-》字符串: time.strftime()
字符串—》时间元组: time.strptime()
# 获取获取现在的时间戳
zs=time.time()
print(zs)
# 1619010965.6694999
# 1619010991.0435
# 获取现在的时间元组
time_tuple=time.localtime()
print("获取现在的时间元组:",time_tuple)
# 获取当前月份 多少号 星期几 ?
month=time_tuple.tm_mon
day=time_tuple.tm_mday
weekday=time_tuple.tm_wday
print(month,day,weekday)
# 周日 6 周六 5 周五 4 周四 3 周三 2 周二 1 周一 0
# Wed Apr 21 21:23:08 2021
print(time.asctime())
# 1619010965 转时间元组
ttup1=time.localtime(1587546210)
print(ttup1)
# 时间元组转化时间戳
secs=time.mktime(ttup1)
print("时间元组转化为时间戳time.mktime:",secs)
#字符串与时间元组相互转化
# 时间元组‐‐‐‐》字符串
timestr=time.strftime("%Y/%m/%d %H:%M:%S",time.localtime())
print(timestr,type(timestr))
# 输出日志 报告 文件名称后面时间
filepath=f'log_{time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())}'
with open(filepath,"w+",encoding="utf‐8") as file:
file.write("笑褒 九头蛇")
# 时间格式字符串 2021/04/21 21:36:41 ‐‐‐‐‐》时间?
ttup2=time.strptime(timestr,"%Y/%m/%d %H:%M:%S")
print("字符串转化时间元组time.strptime(string,format):",ttup2)
三、datetime模块
时间元组表示
dt=datetime.datetime(2018,6,24,16,56,45,13) #(年、月、日、时、分、秒、微秒) #以时间元祖创建
dt=datetime.datetime.today() #获得当前时间datetime
dt=datetime.datetime.now() #获得当前时间datetime
把datetime转换成时间戳
datetime.datetime.now().timestamp()
把时间戳转换成datetime
datetime.datetime.fromtimestamp(时间戳)
按datetime转换成字符串:
dt.strftime(“%Y-%m-%d”)
dt.strftime(“%Y-%m-%d %H:%M:%S”)
把字符串转换成datetime
datetime.datetime.strptime(‘2015-6-1 18:19:59.10’, ‘%Y-%m-%d%H:%M:%S.%f’)
截取时间元组中的部分:
dt.year #年
dt.month #月
dt.day #日
dt.date() #日期
dt.time() #时间
dt.weekday() #星期
dt.isoweekday() #星期
四、异常处理
异常处理:可以使用try except语句来捕获所有异常
语法格式1:
try:
执行代码
except:
发生异常执行的代码
else:
没有异常执行的代码
语法格式2:———》指定异常类别,捕获异常
try:
file1=open(‘2.txt’)
s=file1.readline()
i=int(s)
excep ValueError as err2:
print(‘ValueError:{0}’.format(err2))
except OSError as err:
print(‘OSError:’.format(err))
except:
print(‘unexcept error’, sys.exc_info())
语法格式3:————-》try-finally 语句无论是否发生异常都将执行最后的代码。
try:
执行代码
except:
发生异常执行的代码
else:
没有异常执行的代码
finally:
不管有没有异常都会执行的代码
try:
uername=input("请你输入你的账号!")
passwd=input("请你输入你的密码!")
if uername=="admin" and passwd=="123456":
print("登录成功")
else:
print("登录失败")
money=int(input("请输入取款金额"))
except:
print("有异常")
else:
print("请执行下一步")
try:
uername=input("请你输入你的账号!")
passwd=input("请你输入你的密码!")
if uername=="admin" and passwd=="123456":
print("登录成功")
else:
print("登录失败")
money=int(input("请输入取款金额"))
except Exception as error:
print("类型。。。。",str(error))
else:
print("无异常继续执行取款的下一步操作......")
五、抛出异常
Python 使用 raise 语句抛出一个指定的异常。
raise语法格式如下:
raise [Exception [, args [, traceback]]]
x=10
if x > 5:
raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
print("其他业务代码执行")