您的位置:首页 > 娱乐 > 八卦 > 杭州建站模板展示_好看模板大全_大众点评seo关键词优化_谷歌下载安装

杭州建站模板展示_好看模板大全_大众点评seo关键词优化_谷歌下载安装

2025/3/7 0:27:31 来源:https://blog.csdn.net/2402_86373248/article/details/145998288  浏览:    关键词:杭州建站模板展示_好看模板大全_大众点评seo关键词优化_谷歌下载安装
杭州建站模板展示_好看模板大全_大众点评seo关键词优化_谷歌下载安装

文件和异常处理是Python编程中不可或缺的技能。本章将带你从基础到进阶,彻底掌握文件操作和异常处理的核心知识点,并通过通俗易懂的示例帮助所有人理解。

10.1 从文件中读取数据

10.1.1 读取整个文件

要读取文件内容,首先需要打开文件,使用 open() 函数并指定文件路径和模式(如 'r' 表示只读)。例如:

with open('pi_digits.txt', 'r') as file:contents = file.read()
print(contents)

使用 with 语句可以自动关闭文件,避免资源泄露。file.read() 会一次性读取文件全部内容。

10.1.2 文件路径

- 相对路径:相对于当前脚本的位置,如 data/pi.txt。

- 绝对路径:完整的系统路径,如 /home/user/documents/pi.txt。

在Windows中注意反斜杠转义(C:\\path\\to\\file)或使用原始字符串(r'C:\path\to\file'`。

10.1.4 逐行读取与列表存储

若想逐行处理文件内容,可以使用循环:

with open('pi_digits.txt') as file:lines = file.readlines()  # 将各行存入列表
for line in lines:print(line.strip())       # 去除每行末尾的换行符

10.1.6 处理百万行大文件

直接读取大文件可能导致内存不足。此时可逐行处理:

with open('big_file.txt') as file:for line in file:process(line)  # 每次处理一行,内存友好

10.2 写入文件

10.2.1 写入空文件

使用 'w' 模式打开文件,若文件不存在则会创建:

with open('output.txt', 'w') as file:file.write("Hello, World!")

⚠️ 注意:'w' 模式会覆盖原有内容!

10.2.3 追加内容

用 'a' 模式追加内容到文件末尾:

with open('output.txt', 'a') as file:file.write("\nAppended line.")

10.3 异常处理:让程序更健壮

10.3.1 处理 ZeroDivisionError

当除数为零时,程序会崩溃。通过 try-except 捕获异常:

try:print(5 / 0)
except ZeroDivisionError:print("除数不能为零!")

10.3.5 处理 FileNotFoundError

读取不存在的文件时抛出此异常:

filename = 'missing.txt'
try:with open(filename) as file:content = file.read()
except FileNotFoundError:print(f"文件 {filename} 不存在!")

10.3.8 静默失败

若想忽略某些异常,可用 pass:

try:# 可能出错的代码
except FileNotFoundError:pass  # 静默处理

10.4 存储数据:JSON的妙用

10.4.1 使用 json.dump() 和 json.load()

将数据保存为JSON格式:

import json
data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as file:json.dump(data, file)  # 写入文件# 读取JSON数据
with open('data.json') as file:loaded_data = json.load(file)
print(loaded_data['name'])  # 输出:Alice

10.4.3 重构代码

将功能拆分为独立函数,提升可维护性:

def save_user_data(username):"""保存用户数据到JSON文件"""with open('users.json', 'w') as file:json.dump({'username': username}, file)

10.5 小结与最佳实践

- 文件操作:优先使用 with 语句,避免忘记关闭文件。

- 异常处理:精准捕获特定异常(如 FileNotFoundError),避免笼统的 except。

- 数据存储:JSON适合存储结构化数据,且跨平台兼容。

- 代码风格:添加清晰的注释,拆分复杂操作为函数。

通过本章学习,你将能够优雅地处理文件读写、从容应对程序错误,并掌握数据持久化的核心技巧。现在,动手写一段代码试试吧!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com