Python实现文件的读写操作指南

 更新时间:2026年03月01日 15:39:47   作者:小政同学  
这篇文章主要介绍了Python中文件的读写操作,包括文件打开、读取、写入以及关闭等步骤,具体内容涵盖了文件的打开方式、各种读取方法(如read、readline、readlines)以及写入方法,需要的朋友可以参考下

1、文件的操作流程

操作一个文件需要经历以下几个流程:分别是打开文件、读取或写入文件、关闭文件。

2、文件的读取方式

2.1 如何打开一个文件呢?

打开文件我们使用到了Python中的open方法,其中open方法有以下几个参数

--------------------------------------------------------------------

open(文件路径,操作类型,encoding="编码格式")

--------------------------------------------------------------------

1、文件路径:我们要打开的文件的绝对路径

2、操作类型:表示要对文件进行哪些操作,这里我们有读(r),写(w),追加(a)三种

        a、读(r):以字母r来表示,功能是只能读取文件,并不能对文件进行写入操作。

        b、写(w):以字母w来表示,读取并向文件中写入内容,但写入前会清空原有内容。

        c、追加(a):以字母a来表示,能够读取和写入,写入时不会清空内容,而是追加。

3、编码格式:我们这里通常使用utf-8来进行编码,Python2则使用的是gbk的格式

#这里打开了一个名为test.txt的文件,并且读取的编码为UTF-8
f = open("E:/python/test.txt","r",encoding="UTF-8")

print(type(f)) #打印类型:<class '_io.TextIOWrapper'>
print(f) #<_io.TextIOWrapper name='E:/python3学习库/study/02-python中级操作/test.txt' mode='r' encoding='UTF-8'>


#关闭打开的文件
f.close()

【小提示】在文件打开完毕之后要使用close()方法将其关闭。

2.1.1 with关键字简化打开文件方式

我们读取文件也可以通过with关键字进行简化,

#使用with方式读取文件,as f2是起了别名,相当于变量,f2可用于后续操作
# with open("C:/test.txt","r",encoding="UTF-8") as f2:
#     for i in f2:
#         print(i)


#有一点,使用了with后,我们则不用再写close方法,with会在我们读取完毕文件后自动调用close方法关闭

2.2 read方法读取文件内容

  • read方法是基于open打开文件对象中的一个读取文件的方法。
  • 其功能为读取文件中的内容,默认是读取所有内容。
  • 通过read(10)方式可读取文件中的前10个字符(包括特殊字符)

2.2.1 read读取所有内容

直接使用文件对象f.read()的方式,可实现读取文件中从头到尾所有内容。

#打开一个文件
f = open("C:/test.txt","r","utf-8")

#读取并输出文件全部内容
print(f.read())

2.2.2 读取指定字符数量

这里通过read(参数)的形式实现传参读取文件中从头开始的指定数量的字符,比如我使用了read(15),则表示要读取文件中前15个字符(包括特殊字符回车、换行、空格等)

f = open("文件路径","r","utf-8")


print(f.read(10))


#文件原内容:我是test.txt文件,用来读取和写入操作
#读取前10个字符:我是test.txt文件

【小知识点】这里read方法有一个特殊的读取方式,如果我们基于此文件打开对象调用了两次或多次read方法,则第二次读取会接着上次读取到的文件内容位置而向下继续读取。

例如:read(10):这个就表示他读取了文件中前十个字符(包括特殊符号在内的),那么我们在执行read时,他就会从文件中第11个字符开始向后读取内容,不会在读取前面的内容。

2.3 readlines()读取所有内容,并将其每行存储为列表。

  • readlines同样是内置的读取文件的方法,他与read都可以读取文件所有内容。
  • 不同的是readlines方法会将读取都的每一行内容存储为一个列表元素,最后返回一个列表。
#打开文件步骤省略.....



print(f.readlines())

#以下是文件原内容
#我是test.txt文件,用来读取和写入操作
#第二行i和监督权维护好
#第三行火堆2hu
#第四行电弧好


#读取之后为
['我是test.txt文件,用来读取和写入操作\n', '第二行i和监督权维护好\n', '第三行火堆2hu\n', '第四行电弧好']

2.4 readline方法读取单行内容

此方法可用于读取单行的内容,因为一个readline他就只读取一行内容。

如果还想读取下一行,可多写几个readline或者使用循环来完成读取。

通过以下这个案例我们可以看到文件有四行内容,而我们读取输出了首行。

#读取文件方式省略.....


print(f.readline())

#以下是文件原内容
#我是test.txt文件,用来读取和写入操作
#第二行i和监督权维护好
#第三行火堆2hu
#第四行电弧好


#读取之后输出
#我是test.txt文件,用来读取和写入操作

3、文件的写入操作

  • 写入操作主要是使用操作方式中的w和a模式来实现。
  • w表示写入,a表示追加。
  • 这里新增了一个名为f.flush()的方法,作用是刷新文件内容,但现在此功能在close中已支持。

【小知识点】文件写入的流程:

  1. 调用write时,会将要写入的内容写入内存的缓冲区。
  2. 在执行close或者flush后,会强制将缓冲区的写入内容写入到文件中(也就是磁盘中存储)
  3. 不执行以上两个方法时,则系统会在缓冲区满后将内容写入文件。

3.1 w写入模式下的write方法

在此模式下,write方法会先清空文件中原内容,之后再将新的内容写入进去,每次都会清空原内容。

with open("C:/test.txt","w",encoding="utf-8") as f:
 f.write("hello,我是w模式下写入的内容")
 print(f.read())


#以下是文件原内容
#我是test.txt文件,用来读取和写入操作
#第二行i和监督权维护好

#写入后的文件内容(原内容已被write清空)
#hello,我是w模式下写入的内容

3.2 a写入模式下的write方法

a模式下,write不执行清空文件操作,而是会在内容后直接去将内容追加写入(不会自动换行)。

with open("C:/test.txt","a",encoding="utf-8") as f:
 f.write("hello,我是a模式下写入的内容")
 print(f.read())


#以下是文件原内容
#我是test.txt文件,用来读取和写入操作
#第二行i和监督权维护好

#写入后的文件内容(原内容还在,新内容在最后一行内容后追加写入)
#我是test.txt文件,用来读取和写入操作
#第二行i和监督权维护好hello,我是a模式下写入的内容

3.2.1 【小案例】a模式实现文件的隔行写入

实现在写入时,第1、3、5等奇数行写入内容,偶数则执行换行操作。

#【案例】a模式的隔行写入
f2 = open(filedir,"a",encoding="UTF-8") 
#a模式会将内容追加到文件内容最后一行内容的后面,不换行

i = 0
while i<10:
   f2.write(f"\n我来试一下换行写入的功能{i}")
   i += 1

f2.flush()

f2.close()


3、总结

  • 学习了通过open方法打开文件操作,r读取、w清空写入、a追加最后三种文件操作模式。
  • 通过read(全部)、readline(单行)、readlines(多行列表)方法实现读取内容操作。
  • 通过write方法实现写入,flush和close实现内容刷新和关闭文件操作。
  • 最后完成了一个在a模式下实现隔行写入内容的案例。

以上就是Python实现文件的读写操作指南的详细内容,更多关于Python文件读写操作的资料请关注脚本之家其它相关文章!

相关文章

  • Python 2.6.6升级到Python2.7.15的详细步骤

    Python 2.6.6升级到Python2.7.15的详细步骤

    这篇文章主要介绍了Python 2.6.6升级到Python2.7.15的详细步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python使用bs4获取58同城城市分类的方法

    Python使用bs4获取58同城城市分类的方法

    这篇文章主要介绍了Python使用bs4获取58同城城市分类的方法,涉及Python使用BeautifulSoup库解析html页面的技巧,需要的朋友可以参考下
    2015-07-07
  • Yolov5(v5.0)+pyqt5界面设计图文教程

    Yolov5(v5.0)+pyqt5界面设计图文教程

    众所周知界面设计一般指UI设计,下面这篇文章主要给大家介绍了关于Yolov5(v5.0)+pyqt5界面设计的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Python自动发送邮件的方法实例总结

    Python自动发送邮件的方法实例总结

    这篇文章主要介绍了Python自动发送邮件的方法,结合实例形式总结分析了Python使用smtplib和email模块发送邮件的相关使用技巧与操作注意事项,需要的朋友可以参考下
    2018-12-12
  • Python如何使用pathlib模块处理文件路径

    Python如何使用pathlib模块处理文件路径

    这篇文章主要介绍了Python如何使用pathlib模块处理文件路径,我们将从创建 Path 对象、绝对路径与相对路径、访问文件路径分量,以及检查文件路径是否存在等几个方面进行讲解,需要的朋友可以参考下
    2024-10-10
  • 关于Pandas缺失值inf与nan的处理实践

    关于Pandas缺失值inf与nan的处理实践

    这篇文章主要介绍了关于Pandas缺失值inf与nan的处理实践,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python动态声明变量赋值代码实例

    Python动态声明变量赋值代码实例

    这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 详解Pytorch+PyG实现GCN过程示例

    详解Pytorch+PyG实现GCN过程示例

    这篇文章主要为大家介绍了Pytorch+PyG实现GCN过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Python实现微信自动锁定工具

    Python实现微信自动锁定工具

    在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧
    2025-04-04
  • Python远程控制Windows服务器的方法总结

    Python远程控制Windows服务器的方法总结

    在信息时代的洪流中,掌握一门编程语言已经成为一项必备技能,Python,这门以简洁、易学、强大著称的编程语言,更是成为无数开发者的大宝剑,今天,我们要探讨的就是如何用 Python 远程控制 Windows 服务器,需要的朋友可以参考下
    2024-07-07

最新评论