Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python3学习之异常处理及文件的各种操作

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

little bottle
little bottleke hadapan
2019-04-28 15:44:192521semak imbas

本篇文章主要讲述的是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('旧名字','新名字') 重命名 也可以剪切文件

相关教程:Python3视频教程

Atas ialah kandungan terperinci python3学习之异常处理及文件的各种操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Python实现翻译软件Artikel seterusnya:scrapy实现新浪微博爬虫