Python学习笔记文件读写之文件读写过程
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
在熟悉了处理文件夹和相对路径后,你就可以指定文件的位置,进行读写。接下来介绍的函数适用于“纯文本文件”只包含基本文本字符,
不包含字体、大小和颜色信息。带有.txt扩展名的文本文件,以及带有.py扩展名的Python脚本文件,都是纯文本文件的例子。它们可以被windos
的notepad或OS X的TextEdit应用打开。你的程序可以轻易地读取纯文本文件的内容,将它们作为普通的字符串值。
“二进制文件”是所有其他文件类型,诸如字处理文档、PDF、图像、电子表格和可执行程序。如果用 Notepad 或 TextEdit 打开一个二进制
文件,它看起来就像乱码。如下图:
读写文件有三个步骤:
(1)调用open()函数,返回一个File对象
(2)调用File对象的read()或write()方法
(3)调用File对象的close()方法,关闭该文件
#------------------------------------------------我是可耻的分割线-------------------------------------------
1、用open()函数打开文件,要用 open()函数打开一个文件,就要向它传递一个字符串路径,表明希望打开的文件。这既可以是绝对路径,
也可以是相对路径。open()函数返回一个 File 对象。
open()函数,示例代码:
1 2 3 4 5 | #! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang #利用open()函数,打开指定的文件 hello_file = open ( 'C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\hello.txt' ) |
使用open()函数,打开文件时如果没有其他参数传递给open()方法,首先要保证该文件和路径已经存在。调用 open()将返回一个 File 对象。File 对象代表计算机中的一个文件,
它只是Python 中另一种类型的值,就像你已熟悉的列表和字典。在前面的例子中,你将 File对象保存在 helloFile 变量中。现在,当你需要读取
或写入该文件,就可以调用helloFile 变量中的 File 对象的方法。
2、read()方法,读取文件内容。既然有了一个 File 对象,就可以开始从它读取内容。如果你希望将整个文件的内容读取为一个字符串值,
就使用 File 对象的 read()方法。
read()方法,示例代码:
1 2 3 4 5 6 7 | #! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang #利用open()函数,打开指定的文件,返回一个File对象 hello_file = open ( 'C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\hello.txt' ) #利用read()方法,读取File对象内容 print (hello_file.read()) |
运行结果:
打印了hello 换行 world,因为hello.txt中存放的就是hello 换行 world。
如果你将文件的内容看成是单个大字符串,read()方法就返回保存在该文件中的这个字符串。或者,可以使用 readlines()方法,从该文件取得一个字符串的列表。
列表中的每个字符串就是文本中的每一行。
readlines()方法,示例代码:
1 2 3 4 | #利用open()函数,打开指定的文件,返回一个File对象 hello_file = open ( 'C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\hello.txt' ) #利用readlines()方法,读取File对象内容 print (hello_file.readlines()) |
运行结果:
readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。
readline() 方法,示例代码:
1 2 3 4 5 6 7 8 9 10 | #! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang #利用open()函数,打开指定的文件,返回一个File对象 hello_file = open ( 'C:\\Users\\Administrator\\PycharmProjects\\test\\文件读写\\hello.txt' ) #利用readline()方法,读取File对象内容 print (hello_file.readline()) #利用readline()方法,读取File对象执行长度字符串内容 print (hello_file.readline( 3 )) |
运行结果:
3、写入文件
Python 允许你将内容写入文件,方式与 print()函数将字符串“写”到屏幕上类似。但是,如果打开文件时用读模式,就不能写入文件。你需要以“写入纯文本模
式”或“添加纯文本模式”打开该文件,或简称为“写模式”和“添加模式”。
写模式将覆写原有的文件,从头开始,就像你用一个新值覆写一个变量的值。将'w'作为第二个参数传递给 open(),以写模式打开该文件。不同的是,添加模式将
在已有文件的末尾添加文本。你可以认为这类似向一个变量中的列表添加内容,而不是完全覆写该变量。将'a'作为第二个参数传递给 open(),以添加模式打开该文件。
如果传递给 open()的文件名不存在,写模式和添加模式都会创建一个新的空文件。在读取或写入文件后,调用 close()方法,然后才能再次打开该文件。
write()方法写模式,示例代码:
1 2 3 4 5 6 7 8 9 | #! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang #使用open()方法打开文件,使用w模式 baconFile = open ( 'bacon.txt' , 'w' ) #write()方法写入文本 baconFile = baconFile.write( 'hello world!\n' ) #打印写入的字符串个数 print (baconFile) |
运行结果:
写模式,每次运行都会覆盖以前的内容。
write()方法添加模式,示例代码:
1 2 3 4 5 6 7 8 9 10 11 | #! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang #使用open()方法打开文件,使用w模式 baconFile = open ( 'bacon.txt' , 'a' ) #write()方法写入文本 baconFile.write( 'hello world!\n' ) baconFile.close() baconFile = open ( 'bacon.txt' ) print (baconFile.read()) |
运行结果:
添加模式,每次运行会在文件末尾追加写入新内容。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异