Python文件操作之打开与关闭文件、读取文件、文件写入

 更新时间:2026年11月04日 09:39:08   作者:我命由我12345  
本文系统讲解Python中文件操作的核心流程:打开与关闭文件(open/close)、多种读取方式(read/readline/readlines/for循环/with语句)、写入与追加模式(w/a模式)、缓冲区管理(flush机制),重点强调with语句的自动资源管理优势及不同访问模式的适用场景

文件操作概述

  1. 文件操作主要是文件读写操作,即文件的读取和写入操作
  2. 文件操作 3 步走:打开文件 -> 读写文件 -> 关闭文件

一、打开与关闭文件

1、基本介绍

  1. 使用 open 函数,打开一个已存在的文件,或创建一个新文件
【文件对象】 = open(【文件路径】, 【访问模式】)
  1. 使用 close 函数,关闭打开的文件
【文件对象】.close()

2、访问模式

访问模式说明
r打开一个文件用于只读(默认访问模式)
w打开一个文件用于写入
如果文件该已存在,则打开文件并从开头开始写入,且原有内容会被删除
如果该文件不存在,则创建新文件进行写入
a打开一个文件用于追加
如果该文件已存在,则新的内容将会被写入到原有内容之后
如果该文件不存在,则创建新文件进行写入

3、演示

  1. 创建并编辑 test.txt 文件用于测试
Hello World
Hello Python
  1. 测试代码
f = open("D:/pythonTestFile/test.txt", "r")

print(f)
print(type(f))

f.close()
# 输出结果

<_io.TextIOWrapper name='D:/pythonTestFile/test.txt' mode='r' encoding='cp936'>
<class '_io.TextIOWrapper'>

二、读取文件

1、基本介绍

编号方法说明
1【文件对象】.read(【长度】)读取指定长度的字节
如果没有指定长度,那么就表示读取文件中所有的数据
2【文件对象】.readline()一次读取一行数据
3【文件对象】.readlines()按照行的方式把整个文件中的数据进行一次性读取
返回一个列表,其中每一行的数据为一个元素

2、演示

  • 创建并编辑 readTest.txt 文件用于测试
Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5
  1. read 方法
f = open("D:/pythonTestFile/readTest.txt", "r")

result1 = f.read(10)
result2 = f.read(10)
resultAll = f.read()

print(f"第 1 次读取 10 个字节:{result1}")
print(type(result1))
print(f"第 2 次读取 10 个字节:{result2}")
print(type(result2))
print(f"读取剩下的全部内容:{resultAll}")
print(type(resultAll))

f.close()
# 输出结果

第 1 次读取 10 个字节:Hello Worl
<class 'str'>
第 2 次读取 10 个字节:d 1
Hello 
<class 'str'>
读取剩下的全部内容:World 2
Hello World 3
Hello World 4
Hello World 5
<class 'str'>
  1. readline 方法
f = open("D:/pythonTestFile/readTest.txt", "r")

line1 = f.readline()
line2 = f.readline()

print(line1)
print(type(line1))
print(line2)
print(type(line1))

f.close()
# 输出结果

Hello World 1

<class 'str'>
Hello World 2

<class 'str'>
  1. readlines 方法
f = open("D:/pythonTestFile/readTest.txt", "r")

lines = f.readlines()

print(lines)
print(type(lines))

f.close()
# 输出结果

['Hello World 1\n', 'Hello World 2\n', 'Hello World 3\n', 'Hello World 4\n', 'Hello World 5']
<class 'list'>

三、其他方式读取文件

1、for 语句读取

(1)基本介绍

for 【临时变量】 in 【文件对象】: 
    【执行的代码块】

(2)演示

f = open("D:/pythonTestFile/readTest.txt", "r")

for line in f:
    print(line)

f.close()
# 输出结果

Hello World 1

Hello World 2

Hello World 3

Hello World 4

Hello World 5

2、with 语句读取

(1)基本使用

with open(【文件路径】, 【访问模式】) as 【文件对象】:
    【执行的代码块】
  • 注:使用 with 语句打开的文件,可以自动关闭

(2)演示

f = open("D:/pythonTestFile/readTest.txt", "r")

with open("D:/pythonTestFile/readTest.txt", "r") as f:
    for line in f:
        print(line)
# 输出结果

Hello World 1

Hello World 2

Hello World 3

Hello World 4

Hello World 5

四、文件写入

1、基本介绍

  1. 使用 w 访问模式打开文件
【文件对象】 = open(【文件路径】, "w")
  1. 使用 write 函数,向文件内写入内容
【文件对象】.write(【内容】)
  1. 使用 write 函数写入的内容会先存储在缓冲区,使用 flush 函数,才能向文件内真正写入内容
【文件对象】.flush()
  • 注:close 函数自带 flush 函数的功能

2、演示

  1. 创建并编辑 writeTest.txt 文件用于测试
Hello World 1
Hello World 2
Hello World 3
  1. 测试代码
f = open("D:/pythonTestFile/writeTest.txt", "w")

f.write("Hello Python")
f.write("\n")
f.write("Hello Python")

f.flush()

f.close()
  1. 此时的 writeTest.txt 文件
Hello Python
Hello Python

五、文件追加

1、基本介绍

  1. 使用 a 访问模式打开文件
【文件对象】 = open(【文件路径】, "a")
  1. 使用 write 函数,向文件内追加内容
【文件对象】.write(【内容】)
  1. 使用 write 函数追加的内容会先存储在缓冲区,使用 flush 函数,才能向文件内真正追加内容
【文件对象】.flush()
  • 注:close 函数自带 flush 函数的功能

2、演示

  1. 创建并编辑 appendTest.txt 文件用于测试
Hello World 1
Hello World 2
Hello World 3
  1. 测试代码
f = open("D:/pythonTestFile/appendTest.txt", "a")

f.write("\n")
f.write("Hello Python")
f.write("\n")
f.write("Hello Python")

f.flush()

f.close()
  1. 此时的 appendTest.txt 文件
Hello World 1
Hello World 2
Hello World 3
Hello Python
Hello Python

以上就是Python文件操作之打开与关闭文件、读取文件、文件写入的详细内容,更多关于Python文件实用操作的资料请关注脚本之家其它相关文章!

相关文章

  • Python类class参数self原理解析

    Python类class参数self原理解析

    这篇文章主要介绍了Python类class参数self原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python List列表对象内置方法实例详解

    Python List列表对象内置方法实例详解

    这篇文章主要介绍了Python List列表对象内置方法,结合实例形式详细分析了Python列表list各种常用内置方法的功能与使用技巧,需要的朋友可以参考下
    2019-10-10
  • 浅谈利用numpy对矩阵进行归一化处理的方法

    浅谈利用numpy对矩阵进行归一化处理的方法

    今天小编就为大家分享一篇浅谈利用numpy对矩阵进行归一化处理的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python经典题实战记录之百元买百鸡

    Python经典题实战记录之百元买百鸡

    有一道著名的"百钱买百鸡"问题大家应该都不陌生,这篇文章主要给大家介绍了关于Python经典题实战记录之百元买百鸡的相关资料,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-12-12
  • Django项目创建的图文教程

    Django项目创建的图文教程

    本文主要介绍了Django项目创建的图文教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Keras框架中的epoch、bacth、batch size、iteration使用介绍

    Keras框架中的epoch、bacth、batch size、iteration使用介绍

    这篇文章主要介绍了Keras框架中的epoch、bacth、batch size、iteration使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python sys模块的使用及说明

    Python sys模块的使用及说明

    Python sys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需注意模块冲突及递归深度调整风险
    2025-09-09
  • 一条命令解决mac版本python IDLE不能输入中文问题

    一条命令解决mac版本python IDLE不能输入中文问题

    本文通过一条命令帮助大家解决mac版本python IDLE无法输入中文问题,需要的朋友可以参考下
    2018-05-05
  • Numpy随机抽样的实现

    Numpy随机抽样的实现

    本文主要介绍了Numpy随机抽样的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python pip install总是报错情况分析及解决办法

    python pip install总是报错情况分析及解决办法

    这篇文章主要给大家介绍了关于python pip install总是报错情况分析及解决办法,安装包时经常遇到报错,这里提供两种方式解决,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10

最新评论