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

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

本文详细介绍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 相关产品和应用

全部下载

专题列表