文件操作、os模块、设计与异常c

(一)读模式
1.read()
调用read()会一次性读取文件的全部内容
2.readline()
每次读取一行,自带换行功能,每一行末尾会读到\n
3.readlines()
一次性以行的形式读取文件的所有内容并返回一个list,需要去遍历读取
4.循环读取
file/a.txt 是一个可迭代的对象而已,可以循环读取文件中的内容,每次读一行
(二)写操作
1,write()
2.writelines()
(三)with
使用with方式操作文件,可以不用关闭文件,会自动关闭文件
with open(‘file/a.txt’)as file:

with open('file/a.txt')as file:
	ret=file.read()
	print(ret)

七、os模块
重命名文件: os.rename(旧文件,新文件)
删除文件:os.remove(test.txt) #删除文件 是目录的话报错
创建目录:mkdir() 生成单层目录
创建多级目录:os.makedirs(‘a\b\c’)
删除目录:os.rmdir(path) #删除一层空目录
删除多级目录:os.removedirs(‘a\b\c’) #删除时目录为空
获取当前所在目录:os.getcwd()
获取目录列表:os.listdir(path)
切换所在目录:os.chdir()
判断文件或者文件夹是否存在:os.path.exists(path)
判断是否为文件:os.path.isfile(‘cla.py’)
判断是否问目录:os.path.isdir(‘test’)
获取绝对路径:os.path.abspath(‘test’)
判断是否为绝对路径:os.pah.isabs(os.getcwd()) #判断当前路径是否为绝对路径
获取路径中的最后部分:os.path.basename(‘a//b//c’)
获取路径中的路径部分:os.path.dirname(file) #获取父目录部分

十四:设计与异常
一、异常
异常是指在语法正确的前提下,程序运行时报错就是异常
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止操作
二、异常捕获
(一)基本语法

try:
	...代码1...
	...代码2...
	...代码3...
except 异常类型:
	...处理异常代码...

执行流程:程序从上往下执行,先执行try中的代码,如果代码1报错,则不会执行代码2和3,执行 excpetion中的异常代码。
如果try中没有报错,则不执行except中的代码。

try:
	print('start...')
	print(1/0)
	print('end...')
except ZeroDivisionError:
	print('try中的代码执行出错了就执行这里的代码')
print('程序结束了')
try:
	print('aaaaa')
	print(1/0)     
	print('bbbb')
except IndexError:   #索引越界异常
	print('程序出错了哈哈')
print('程序结束了')

(二)捕获多个异常
如果一段代码中可能会触发多个异常,我们可以写一个try 多个except来捕获多个异常

格式
多分支结构:
try:
	执行的代码
except 异常类型:
	捕获异常1
except 异常类型:
	捕获异常2
except 异常类型:
	捕获异常3

执行流程:
程序先执行try 如果代码没有出错 则不会执行except中的异常代码
如果try出错了 程序会依次和except中的异常类型比较 如果跑出的异常类型和except中的异常类型匹配则执行捕获异常代码 其他异常则不再执行
应用场景:适用于对不同异常做不容处理场合

元组结构:
try:
	执行的代码
except(异常类型1,异常类型2,3):
	捕获异常

执行流程:
try中的代码发生异常后 直接执行except的异常代码
应用场景:不管发生什么异常统一处理

使用多分支结构:
try:
    print('start...')
    lst=[12,3]
    print(1/0)
    print(lst[2])
    print('end...')
except ZeroDivisionError:
    print('除数为0了。。。')
except IndexError:
    print('索引越界了。。。')
使用元组结构:
try:
    print('start...')
    lst=[12,3]
    print(1/0)
    print(lst[2])
    print('end...')
except(ZeroDivisionError,IndexError):
    print('程序出错了。。。')

(三)捕获所有异常

格式:
try:
	...代码...
except:
	捕获异常

流程:except后面可以不写异常类型,表示可以捕获所有的异常。

try:
	...代码...
except Exception:
	...异常信息...

流程:Exception是所有异常的父类,try抛出的异常,Exception都能捕获。
(四)获取异常信息描述

格式:
try:
	执行代码
except 异常类型1 as 变量名:
	执行异常...

流程:
变量名也可以叫做异常的对象,一般使用e来表示,e对象包含了异常信息的一些描述,我们可以根据描述做不同的处理。

try:
    print(1/0)
except ZeroDivisionError as e:
    print(e)

(五)else格式

格式:
try:
	执行代码
except 异常类型 1 as 变量名:
	执行异常
else:
	代码

流程:
如果try中没有抛出异常则执行else中的代码,如果try中抛出了异常则不会执行esle中的代码。

try:
    print('哈哈')
    print(1/0)
except:
    print('捕获到了异常')
else:
    print('没有发生异常')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值