第6天:文件操作和异常处理

学习目标

  • 掌握如何在Python中进行文件读写操作
  • 理解文件的打开模式
  • 学习如何处理文件中的数据
  • 理解异常处理的基本概念
  • 掌握使用tryexceptelsefinally进行异常处理
学习内容
1. 文件操作

在Python中,文件操作包括打开文件、读写文件内容和关闭文件。

文件的打开模式
  • 'r':只读模式(默认)
  • 'w':写入模式(会覆盖文件内容)
  • 'a':追加模式(将内容写入文件末尾)
  • 'b':二进制模式
  • 't':文本模式(默认)
  • '+':读写模式
打开文件
file = open('example.txt', 'r')  # 以只读模式打开文件
读取文件
  • 读取整个文件内容:

content = file.read()
print(content)
  • 逐行读取文件内容:

for line in file:
    print(line, end='')
  • 读取文件的特定行:

line = file.readline()
print(line)
  • 读取所有行并返回列表:

lines = file.readlines()
print(lines)
写入文件
  • 写入字符串:

file = open('example.txt', 'w')
file.write('Hello, world!')
  • 写入多行:

lines = ['First line\n', 'Second line\n', 'Third line\n']
file.writelines(lines)
      关闭文件
file.close()
使用with语句进行文件操作
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
2. 异常处理
try:
    # 可能引发异常的代码
    pass
except SomeException:
    # 处理异常的代码
    pass
else:
    # 如果没有异常,执行的代码
    pass
finally:
    # 无论是否有异常,都会执行的代码
    pass
常见异常类型
  • Exception:所有异常的基类
  • IOError:输入/输出操作失败
  • ValueError:传入无效参数
  • IndexError:索引超出序列范围
  • KeyError:请求不存在的字典键
示例
  • 捕获特定异常:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
  • 捕获所有异常:

try:
    result = 10 / 0
except Exception as e:
    print("发生异常:", e)
  • 使用elsefinally

try:
    result = 10 / 2
except ZeroDivisionError:
    print("除数不能为零")
else:
    print("结果是:", result)
finally:
    print("无论是否发生异常,都会执行这段代码")
今日任务
  1. 文件操作:

    • 创建一个新文件,并写入一些文本内容。
    • 读取文件内容并打印出来。
    • 追加一些内容到文件末尾。
  2. 异常处理:

    • 编写代码模拟除零异常,并捕获异常进行处理。
    • 编写代码捕获并处理文件操作中的常见异常(如文件不存在)。
  3. 编写并运行以下示例代码:

# 文件写入示例
with open('example.txt', 'w') as file:
    file.write('Hello, world!\n')
    file.writelines(['First line\n', 'Second line\n', 'Third line\n'])

# 文件读取示例
with open('example.txt', 'r') as file:
    content = file.read()
    print("文件内容:\n", content)

# 追加内容到文件末尾
with open('example.txt', 'a') as file:
    file.write('This is an appended line.\n')

# 读取文件并逐行打印
with open('example.txt', 'r') as file:
    for line in file:
        print(line, end='')

# 异常处理示例
try:
    result = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
else:
    print("结果是:", result)
finally:
    print("无论是否发生异常,都会执行这段代码")

# 捕获文件操作中的异常
try:
    with open('nonexistent.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("文件不存在")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值