暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python编程基础(六):文件操作与异常处理

一如老师 2024-11-19
81

Python编程基础(六):文件操作与异常处理


前言

亲爱的读者朋友们,大家好!👋

欢迎回到一如老师的公众号,今天是我们的第二十三天更新。在前面的学习中,我们了解了Python的基础语法、数据结构以及函数和模块的使用。本期,我们将深入探讨Python中的文件操作与异常处理。文件操作是程序与外部数据交互的重要手段,而异常处理可以提高程序的健壮性,避免因错误导致程序崩溃。

无论你是编程新手,还是希望提升技能的开发者,今天的内容都会对你有所帮助。准备好了吗?让我们一起开启Python的学习之旅吧!🐍🚀


一、文件操作

1. 文件的打开与关闭

打开文件

使用open()
函数打开文件,返回一个文件对象。

file = open('example.txt''r')  # 以读模式打开文件

  • 'r'
    :读模式(默认)
  • 'w'
    :写模式,覆盖原内容
  • 'a'
    :追加模式,在文件末尾追加内容

关闭文件

使用close()
方法关闭文件。

file.close()

2. 文件的读写操作

读取文件内容

  • read()
    方法
    :读取整个文件

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

  • readline()
    方法
    :按行读取

    with open('example.txt''r'as file:
        line = file.readline()
        while line:
            print(line.strip())
            line = file.readline()

  • readlines()
    方法
    :读取所有行,返回列表

    with open('example.txt''r'as file:
        lines = file.readlines()
        for line in lines:
            print(line.strip())

写入文件内容

  • write()
    方法
    :写入字符串

    with open('example.txt''w'as file:
        file.write('Hello, Python!')

  • writelines()
    方法
    :写入序列

    lines = ['第一行\n''第二行\n''第三行\n']
    with open('example.txt''w'as file:
        file.writelines(lines)

3. 使用 with
语句管理文件

with
语句可以自动管理文件的打开和关闭。

with open('example.txt''r'as file:
    content = file.read()
    print(content)
# 文件在退出with块后自动关闭


二、异常处理

1. 什么是异常?

异常是指程序运行过程中发生的错误,如除零错误、文件未找到等。如果异常未被处理,程序将会崩溃。

2. 异常的捕获与处理

使用 try-except
语句捕获和处理异常。

基本语法

try:
    # 可能发生异常的代码
    pass
except 异常类型:
    # 处理异常的代码
    pass

示例代码

try:
    num = int(input("请输入一个整数:"))
    result = 100 / num
    print(f"结果是:{result}")
except ZeroDivisionError:
    print("错误:除数不能为零!")
except ValueError:
    print("错误:请输入整数!")

3. else
finally
子句

  • else
    子句
    :当没有发生异常时执行

    try:
        # 可能发生异常的代码
        pass
    except 异常类型:
        # 处理异常的代码
        pass
    else:
        # 未发生异常时执行的代码
        pass

  • finally
    子句
    :无论是否发生异常都会执行

    try:
        # 可能发生异常的代码
        pass
    except 异常类型:
        # 处理异常的代码
        pass
    finally:
        # 总是执行的代码
        pass

4. 自定义异常

可以通过继承 Exception
类来创建自定义异常。

class CustomError(Exception):
    pass

def func():
    raise CustomError("这是一个自定义错误")

try:
    func()
except CustomError as e:
    print(e)


三、实践案例

1. 读取并统计文件中的单词数量

示例代码

def count_words_in_file(filename):
    try:
        with open(filename, 'r'as file:
            content = file.read()
            words = content.split()
            print(f"文件 {filename} 中包含 {len(words)} 个单词。")
    except FileNotFoundError:
        print(f"错误:文件 {filename} 未找到。")

filename = input("请输入文件名:")
count_words_in_file(filename)

2. 记录用户输入的内容到文件

示例代码

def write_user_input(filename):
    try:
        with open(filename, 'a'as file:
            while True:
                user_input = input("请输入内容(输入 'quit' 退出):")
                if user_input.lower() == 'quit':
                    break
                file.write(user_input + '\n')
    except Exception as e:
        print(f"发生错误:{e}")

filename = 'user_input.txt'
write_user_input(filename)


四、小结

通过本节的学习,我们了解了如何进行文件的读写操作,以及如何使用异常处理来捕获和处理程序中的错误。文件操作使程序可以与外部数据交互,而异常处理可以提高程序的健壮性,提供更好的用户体验。


五、实践与思考

实践:

  1. 用户注册程序

    编写一个用户注册程序,将用户名和密码保存到文件中,要求:

    • 用户名不能重复,如果已存在则提示用户重新输入。
    • 密码长度不少于6位。
  2. 计算文件中数字的总和

    给定一个包含数字的文件,每行一个数字,编写程序读取文件并计算这些数字的总和,需处理文件不存在或内容格式错误的情况。

思考:

  • 异常处理的最佳实践

    如何合理地使用异常处理,避免过度捕获或遗漏异常?

  • 文件操作的安全性

    在进行文件操作时,如何确保数据的安全性和完整性,例如防止数据丢失或文件损坏?


六、加入我们的知识星球!

想要获取更多的学习资源和指导吗?加入我们的 「一如老师的编程与设计星球」,你将获得:

  • 独家学习资料:丰富的教程、源码、笔记等资源。
  • 答疑解惑:一对一的学习问题解答,助你突破难点。
  • 项目实战:参与真实项目,提升实战能力,积累经验。
  • 职业指导:提供就业、面试等方面的建议,助你迈向理想职业。

扫码立即加入,和更多志同道合的伙伴一起成长!

 


七、加入我们的学习群!

为了更好地交流和学习,欢迎大家加入 「一如老师编程设计交流中心」,与更多的朋友一起进步!

  • QQ群号:965696190
  • 微信群:扫描下方二维码加入

 


八、期待你的反馈!

如果你在学习过程中有任何疑问,或者有好的建议和想法,欢迎在下方留言。我会尽快回复你的疑问。


九、下期预告

下一期,我们将学习Python编程基础(七):面向对象编程。我们将探讨如何使用类和对象来组织和封装代码,实现更高级的编程技巧。敬请期待!


版权声明

本文为原创内容,转载请注明出处。


喜欢这篇文章吗?

如果觉得本篇内容对你有帮助,请点击右下角的“赞”和“在看”,并分享给更多的朋友!你的支持是我持续创作的动力!❤️


文章转载自一如老师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论