Python文件读写基础:从open到with语句的完整指南

夏知夏
夏知夏
发布时间:2026-10-15| 6人浏览过
原创

本文详细介绍Python中文件处理的核心方法,涵盖使用open函数进行读写、手动调用close关闭文件的重要性,以及推荐使用with语句自动管理资源。通过具体代码示例演示全量读取与按行读取(readline)的区别,帮助初学者掌握安全、高效的文件操作技巧。

掌握文件的读写操作是编程学习的基础第一步。

回想早期的编程课程,例如学生管理系统的设计作业,往往需要借助文件来存储数据。

虽然现代开发中数据库更为常见,但在C语言等入门课程中,由于学生可能尚未接触数据库,文件处理成为首选的数据持久化方案。

在Python中,最核心的文件操作函数是open和write,具体用法如下所示。


#open函数:接收一个文件名,还有其他参数可省略不写。
one_file = open('myfile.txt')
#读取数据赋值给data变量
data = one_file.read()
#一个文件对象的write函数
one_file = open('myfile.txt','w')
#write函数:传入数据,write函数把数据写入到one_file对应的文件中。
one_file.write('写到文件的数据')

接下来通过几个实际示例来演示文件操作的具体流程。

首先演示如何读取文件中的数据。

将以下示例数据保存为文件:sample.txt


持续学习
持续开发
我雷学委

afile = open("sample.txt")
print(afile.read())

下面展示简单的数据写入过程。


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : hello
afile = open("sample.txt")
data = afile.read()
print("sample file content=", data)
afile.close()
#把sample读取的数据写到test文件
afile = open("./test.txt", "w")
afile.write(data)
afile.close()
print("write data to test file!")
afile = open("./test.txt")
data = afile.read()
afile.close()
print("test file content=", data)

通过读取验证,确认写入文件的内容与预期一致。

从基础层面看,这种文件操作逻辑非常直观。

尽管读写流程简单,但在完成文件操作后,务必调用close函数以关闭文件,否则后续再次进行读写操作时可能会引发异常或错误。

调用close函数的标准方式如下所示。


one_file.close() #文件对象.close()

然而,在实际开发中,我们通常采用更规范的写法来确保资源安全释放。


with open('sample.txt', 'r') as one_file:
    data = one_file.read()
#无须调用close了,这个with代码块内,python会帮我们自动关闭文件。

上述示例均是一次性读取整个文件,而在Python中,还支持逐行读取文件内容。

下面介绍按行读取文件的方法。

基于前文的读写代码进行改造,具体实现如下。


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo2.py
# @Project : hello
with open("sample.txt") as afile:
    data = afile.readline()
    print("sample file content=", data)
with open("./test.txt", "w") as afile:
    afile.write(data)
    print("write data to test file!")
with open("test.txt") as afile:
    data = afile.readline()
    print("test file content=", data)

可以看到,这里仅读取了sample文件的第一行内容,并将其写入到test文件中,最终test文件中也仅包含这一行数据。

本节内容总结。

Python的文件读取功能十分便捷,内置的open函数结合文件对象自带的write方法,设计简洁且易于上手。

本文到此结束,希望能为读者带来帮助,也欢迎继续关注本站发布的更多技术内容!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。