入门(七)异常处理和IO

1、异常处理

语法

try:
    可能出现异常的代码
except
    出现异常后要
else:
    不出现异常时的执行的操作
finally:
    无论是否出现异常都必须执行的操作

(1)、示例

try:
    print('try...')
    a = 5 / int('0')
#except: #捕获所有异常
#expcept ZeroDivisionError as e:  #捕获ZeroDivisionError异常
except (ZeroDivisionError, ValueError, Exception) as e:
    print('出现异常了', e)
else:
    print('没有异常时执行')
finally:
    print('finally...')

2、自定义异常


class UsernameExistException(Exception):
    pass


def fn(username):
    if username == 'admin' or username == 'tom':
        raise UsernameExistException('用户名已存在')
    else:
        print('ok')


fn(input('请输入用户名:'))

3、IO操作

(1)、文件读写

# ----读取文件
try:
    f = open('demo.txt',mode='r',encoding='utf-8') # 打开一个文件,返回一个对象,这个对象就代表着当前打开的文件
    print(f.read())  # 一次性读取所有内容
except FileNotFoundError as e:
    print('文件找不到', e)
finally:
    if f:
        f.close()  # 文件操作后一定要关闭

模式介绍

'''
r 读模式
w 写模式
a  追加模式
r+  读写模式
b  二进制模式
'''

(2)、文件读写的简写形式

with ... as语句,自动调用close()

# ----读取文件
with open('demo.txt', mode='r', encoding='utf-8') as f:
    print(f.read())

(3)read()函数的用法
read(3)每调用一次依次往后读取三个字符
readline()每次调用读取一行

你可能感兴趣的:(入门(七)异常处理和IO)