Python中常见的文件操作合集(读取、编码和关闭)

 更新时间:2025年11月21日 08:53:26   作者:钮祜禄.爱因斯晨  
这篇文章主要为大家详细介绍了Python中常见的文件操作,包括读取、编码和关闭等功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

文件的编码

一些文本文件是通过编码技术将内容翻译成0和1存入

编码技术:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别的内容

计算机中有很多编码类型:比如UTF-8,GBK,Big5

UTF-8是目前最常用的编码

文件的读取

文件操作:打开、关闭、读取

open()打开函数:打开一个存在的文件,或者创建一个新文件

open(name,mode,encoding)

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)

mode:设置打开文件的模式(访问模式):只读、写入、追加

encoding:编码格式(推荐使用UTF-8)

f=open('python.txt','r',encoding='UTF-8')
#encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定

注意:这个f就是文件对象

f=open("F:/Desktop/test.txt","r",encoding="utf-8")
print(type(f))

mode常用的三种基础访问模式

模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从头开始编辑,原有的内容会被删除。若文件不存在,创建新文件
a打开一个文件用于追加。如文件存在,新内容会写入到已有内容以后。如果该文件不存在,创建新文件进行写入。

读操作的方法

read()方法:文件对象.read(num)

num表示要从文件中读取的数据长度(单位是字节),如果没有传入num,那么就表示读取文件中的所有数据

f=open("F:/Desktop/test.txt","r",encoding="utf-8")
print(type(f))
print(f.read(11))
print(f.read())

同时使用两个read时,会从上面读取后的结果继续读,不是从头

readlines()方法

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

f=open("F:/Desktop/test.txt","r",encoding="utf-8")
print(type(f))
#print(f.read(11))
#print(f.read())
print(f.readlines())

readline方法

一次读取一行内容

f=open("F:/Desktop/test.txt","r",encoding="utf-8")
print(type(f))
#print(f.read(11))
#print(f.read())
#print(f.readlines())
line1 = f.readline()
line2 = f.readline()
print(line1)
print(line2)

文件关闭

在操作文件时,打开的文件会占用系统资源,因此使用完毕后必须及时关闭,否则可能导致资源泄露,甚至出现文件被锁定无法进行其他操作(如删除、修改)的情况。

关闭文件可以通过文件对象的 close() 方法实现:

# 打开文件
f = open("F:/Desktop/test.txt", "r", encoding="utf-8")
# 执行读取操作
content = f.read()
print(content)
# 关闭文件
f.close()

注意:如果忘记调用 close() 方法,文件可能会保持打开状态,尤其在程序运行时间较长或频繁操作文件时,可能引发系统资源耗尽的问题。

写操作(mode=‘w’)

当需要向文件中写入内容时,可以使用 w 模式(写入模式)打开文件。w 模式的特点如下:

  • 若文件已存在,原有内容会被完全清空,新内容从文件开头开始写入;
  • 若文件不存在,则自动创建一个新文件。

写入内容主要通过 write() 方法实现,该方法接收字符串作为参数,将内容写入文件:

# 以写入模式打开文件
with open("F:/Desktop/test.txt", "w", encoding="utf-8") as f:
    # 写入单行内容
    f.write("这是通过 write 方法写入的第一行内容\n")
    # 写入多行内容(需手动添加换行符 \n)
    f.write("第二行内容\n")
    f.write("第三行内容")

运行上述代码后,test.txt 文件中的内容会被更新为:

这是通过 write 方法写入的第一行内容
第二行内容
第三行内容

提示:write() 方法不会自动添加换行符,若需要换行,需手动在字符串末尾添加 \n

追加操作(mode=‘a’)

如果希望在已有文件的末尾添加新内容,而不覆盖原有内容,可以使用 a 模式(追加模式)。a 模式的特点如下:

  • 若文件已存在,新内容会被添加到文件末尾;
  • 若文件不存在,则自动创建新文件并写入内容。

追加内容同样使用 write() 方法:

# 以追加模式打开文件
with open("F:/Desktop/test.txt", "a", encoding="utf-8") as f:
    f.write("\n这是追加的第一行内容")  # 从文件末尾开始写入
    f.write("\n这是追加的第二行内容")

假设之前 test.txt 已有内容:

这是通过 write 方法写入的第一行内容
第二行内容
第三行内容

执行追加操作后,文件内容会变为:

这是通过 write 方法写入的第一行内容
第二行内容
第三行内容
这是追加的第一行内容
这是追加的第二行内容

之前 test.txt 已有内容:

这是通过 write 方法写入的第一行内容
第二行内容
第三行内容

执行追加操作后,文件内容会变为:

这是通过 write 方法写入的第一行内容
第二行内容
第三行内容
这是追加的第一行内容
这是追加的第二行内容

注意:a 模式下,文件指针默认位于文件末尾,因此写入的内容会直接追加到最后,不会影响原有内容。

到此这篇关于Python中常见的文件操作合集(读取、编码和关闭)的文章就介绍到这了,更多相关Python文件操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python windows services demo分享

    python windows services demo分享

    本文介绍了如何使用Python的pywin32库在Windows操作系统中创建和管理服务,通过一个简单的示例代码,展示了如何创建一个每隔10秒打印一条消息到日志文件的Windows服务,文章还提供了安装、启动、停止和卸载服务的命令,并附有注意事项
    2025-02-02
  • python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    最近工作中遇到了matplotlib保存图片坐标轴不完整的问题,所以这篇文章主要给大家介绍了关于python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整问题的解决方法,需要的朋友可以参考下
    2022-07-07
  • Python 元组拆包示例(Tuple Unpacking)

    Python 元组拆包示例(Tuple Unpacking)

    今天小编就为大家分享一篇Python 元组拆包实例(Tuple Unpacking),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python使用建议与技巧分享(二)

    python使用建议与技巧分享(二)

    这篇文章主要介绍了python的使用建议与一些技巧的分享,对大家理解和学习python有所帮助,感兴趣的朋友可以了解下
    2020-08-08
  • 趣味Python实战练习之自动更换桌面壁纸脚本附源码

    趣味Python实战练习之自动更换桌面壁纸脚本附源码

    读万卷书不如行万里路,学的扎不扎实要通过实战才能看出来,本篇文章手把手带你编写一个自动更换桌面壁纸的脚本,代码简洁而且短,相信你一定看得懂,大家可以在过程中查缺补漏,看看自己掌握程度怎么样
    2021-10-10
  • Python Selenium Cookie 绕过验证码实现登录示例代码

    Python Selenium Cookie 绕过验证码实现登录示例代码

    这篇文章主要介绍了Python Selenium Cookie 绕过验证码实现登录示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • python读取文件夹中图片的图片名并写入excel表格

    python读取文件夹中图片的图片名并写入excel表格

    这篇文章介绍了使用python读取文件夹中图片的图片名并写入excel表格的方法。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Python 线程池用法简单示例

    Python 线程池用法简单示例

    这篇文章主要介绍了Python 线程池用法,结合简单实例形式分析了Python线程池相关使用技巧与操作注意事项,需要的朋友可以参考下
    2019-10-10
  • python操作Excel神器openpyxl看这一篇就够了

    python操作Excel神器openpyxl看这一篇就够了

    Python使用openpyxl读写excel文件这是一个第三方库,可以处理xlsx格式的Excel文件,下面这篇文章主要给大家介绍了关于python操作Excel神器openpyxl的相关资料,需要的朋友可以参考下
    2023-04-04
  • pycharm运行pytest中文编码格式错乱解决

    pycharm运行pytest中文编码格式错乱解决

    这篇文章主要为大家介绍了pycharm运行pytest中文编码格式错乱的解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论