Python 基础入门 Day05

141次阅读
没有评论

共计 1754 个字符,预计需要花费 5 分钟才能阅读完成。

欢迎来到 Python 基础入门 Day05!在前几天的课程中,我们已经学习了 Python 的基本语法、数据结构、函数与模块。如果你还没有学习之前的内容,建议先复习以下链接:

今天,我们将学习 文件操作与异常处理,这些内容将帮助你更好地进行文件读写操作和处理程序运行中的错误。

目录

  1. 文件操作基础
  2. 读写文本文件
  3. 异常处理基础
  4. 常见的异常类型
  5. 小结与练习

一、文件操作基础

Python 提供了丰富的文件操作功能。常见的文件操作包括 读取文件 写入文件 追加内容 等。

1.1 打开和关闭文件

使用 open() 函数打开文件,默认以 只读模式 打开,使用 close() 方法关闭文件:

# 打开文件
file = open('example.txt', 'r')
# 关闭文件
file.close()

1.2 使用 with 语句

为了防止忘记关闭文件,我们可以使用 with 语句,它能自动关闭文件:

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

二、读写文本文件

2.1 读取文件内容

  • read():读取整个文件内容
  • readline():逐行读取
  • readlines():将每一行作为列表的元素
# 读取整个文件
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

# 逐行读取
with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())

2.2 写入文件

  • write():写入内容(会覆盖原有内容)
  • writelines():写入多个字符串(列表形式)
# 写入文件(覆盖原内容)with open('output.txt', 'w') as file:
    file.write("这是写入的第一行。\n")

# 追加内容
with open('output.txt', 'a') as file:
    file.write("这是追加的内容。\n")

三、异常处理基础

在编程中,异常是指程序运行时发生的错误。为了提高程序的健壮性,我们可以使用 异常处理 来捕获和处理错误。

3.1 使用 try...except

try:
    result = 10 / 0
except ZeroDivisionError:
    print("不能除以零!")

3.2 捕获多种异常

try:
    num = int(input("请输入一个整数:"))
    result = 10 / num
except ValueError:
    print("请输入有效的整数!")
except ZeroDivisionError:
    print("不能除以零!")

3.3 使用 elsefinally

  • else:当没有发生异常时执行的代码块
  • finally:无论是否发生异常都会执行的代码块
try:
    file = open('example.txt', 'r')
except FileNotFoundError:
    print("文件未找到!")
else:
    print("文件打开成功!")
    file.close()
finally:
    print("无论如何都会执行。")

四、常见的异常类型

异常类型 描述
ValueError 传入无效的参数
TypeError 类型不匹配
IndexError 索引超出范围
KeyError 字典中不存在的键
FileNotFoundError 文件未找到
ZeroDivisionError 除以零

4.1 示例代码

try:
    my_list = [1, 2, 3]
    print(my_list[5])
except IndexError as e:
    print(f"发生错误:{e}")

五、小结与练习

今天我们学习了 文件操作 异常处理,这将帮助你更好地处理文件读写以及应对程序中的错误。

今日练习题:

  1. 编写一个程序,读取用户输入的文件名,并打印出其内容。如果文件不存在,则提示用户文件未找到。
  2. 编写一个函数,接收两个整数参数并返回它们的商。在函数中处理 除以零 的情况。
  3. 尝试将字典 {"name": "Alice", "age": 25} 中的键值对按行写入到文件中。

下一节预告 :在 Day06 中,我们将学习 Python 的 面向对象编程,敬请期待!


正文完
 0
评论(没有评论)