廖雪峰python学习笔记10&&11:容错处理与文件读写

这篇博客详细介绍了Python中的错误处理,使用try-except-finally语句块捕获和处理ValueError和ZeroDivisionError。同时,文章还涵盖了文件读写的多种方式,包括一次性读取、分批读取、逐行读取以及使用with语句进行自动关闭文件的操作。通过实例代码展示了如何打开、读取和写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: utf-8 -*-

#错误应该有很多种类,如果发生了不同类型的错误,应该由不同的except语句块处理。
#没错,可以有多个except来捕获不同类型的错误:
try:
    print('try...')
    r = 10 / int('a')
    print('result:', r)
except ValueError as e:
    print('ValueError:', e)
except ZeroDivisionError as e:
    print('ZeroDivisionError:', e)
    #执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕
finally:
    print('finally...')
print('END')

#文件读写

#文件一次读入
try:
    print('openning......')
    f = open('file_test', 'r')
except FileNotFoundError as e:
    print('FileNotFoundError',e)
    exit()
print(f.read())
f.close()

#文件分批读入(大文件适合)
try:
    print('openning......')
    f = open('file_test', 'r')
except FileNotFoundError as e:
    print('FileNotFoundError',e)
    exit()
while True:
    ch = f.read(1024)
    if ch != '':
        break
    else:
        print(ch)

    
#行读入
try:
    print('openning......')
    t = open('file_test', 'r')
except FileNotFoundError as e:
    print('FileNotFoundError', e)
    exit()
#调用readline()读取一行,每读一行就会在行末尾加上‘\n’
#如果Python文件读到了文件尾,则会返回一个空字符串‘’,而如果是读到一个空行的话,则会返回一个‘\n’


#调用readlines()一次读取所有内容并按行返回list
for line in f.readlines():
    # strip() 可以把一个字符串前后的空白字符包括' ','\t','\n'等都删掉
    print(line.strip())  
t.close()

#是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法
with open('file_test', 'r') as f:
    print(f.read())
#这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。

#写文件
#写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:
f = open('file_test', 'w')
f.write('Hello, world!')
f.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值