python3异常的处理及文件的各种操作

异常处理:是为了避免程序因为一个小问题而导致程序终止
try:
可能出现异常的代码块
except:
出现异常的处理方法
else:
没出错时要执行的代码
函数中如果出现异常,处理之后正常执行,没有处理,异常会抛给调用处,在调用处处理,如果一直到全局作用域,没有处理,则出现异常,程序终止
出现异常以后,所有异常信息会被保存在一个专门的异常对象中,而异常传播时,实际上就是将异常对象抛给了调用处
except后没有跟异常类型,会捕获所有异常,如果写了固定异常类型,则只会捕获该类型异常,except可写多个,同时捕获多种不同的异常,最后一个except一般写except Exception:捕获所有异常
except Exception as 变量名:将捕获到的异常对象赋值给某变量
最后可跟finally:语句:无论有没有出现异常,finally语句都会执行
try是必须的,else有没有都可以,except和finally至少要有一个
raise用于向外部抛出异常,后面可以跟一个异常类,或异常类的实例
raise Exception 抛出异常
raise Exception('错误字符串') 抛出异常并提示
自定义异常:
class 类名(异常类型):
代码块
抛出自定义异常:
raise 自定义异常类名
io流:
open(文件路径) 打开文件,返回文件对象
with...as 语句:
with open(file_path) as file:
content = file.read()
print(content)
read()可以接收一个size为参数,该参数用来指定要读取的字符的数量,默认值为-1,它会读取文件中的所有字符
文件对象.readline()方法,一次读取一行
文件对象.readline(读到的内容,end='') 读取一行之后不换行
文件对象.readlines() 用于一行一行的读取,一次性将读取到的内容封装到一个列表中返回
open打开一个文件,可以将文件分为两种类型
1.纯文本文件,使用utf-8等编码编写的文本文档
2.二进制文件(图片,mp3,ppt等等)
open打开文件时,默认是以文本文件的形式打开,但是open默认的编码为None,指定编码:
with open(path,encoding='码表') as file

文件写入:
write()方法向文件中写入内容,如果操作的是一个文本文件的话,则write()需要传递一个字符串作为参数,写入完成后,会返回写入的字符个数
使用open打开文件时,必须制定打开文件所需要做的操作(读、写、追加),如果不指定操作类型,则默认是读取文件:
r 表示只读
w 表示可写,使用w来写入文件时,如果文件不存在则会创建文件,存在则会删除原有内容,写入新内容
a 表示追加内容,文件不存在会创建文件,存在则会向文件中追加内容
r+ 可读可写,文件不存在报错
w+ 可读可写,文件不存在创建
a+ 可读可写,文件不存在创建
x 新建文件,文件不存在则创建,存在则报错
t 读取文本文件(默认值)
b 读取二进制文本
rb 读取二进制文本
读取文本时,size以字符为单位
读取二进制文件时,size以字节为单位
对象名.tell() 当前读取的位置
对象名.seek(开始读取的位置) 修改当前读取的位置
seek两个参数:
1.要切换到的位置
2.计算位置方式
可选值:
0.从头计算,默认值
1.从当前位置计算
2.从最后位置开始计算
中文:三个字节=1个字符
os模块:
os.listdir() 获取当前目录列表
os.getcwd() 获取当前所在目录
os.chdir(目录) 切换目录
os.mkdir(目录名) 创建目录
os.rmdir(目录名) 删除目录
os.remove('文件名') 删除文件
os.rename('旧名字','新名字') 重命名 也可以剪切文件

猜你喜欢

转载自blog.51cto.com/3945465/2385980