一篇文章搞懂Python的文件读写

简介: 一篇文章搞懂Python的文件读写


在Python中,文件读写是一项常见的操作。通过文件读写,我们可以保存数据,加载数据,读取文件内容等等。本文将带您了解Python中的文件读写,并帮助您理解其中的一些重要概念。

一、打开文件

在Python中,要打开一个文件,我们需要使用内置的open()函数。open()函数需要两个参数:文件名和打开模式。打开模式决定了我们要如何与文件交互。

以下是几个常见的打开模式:

  • 'r':只读模式。打开一个用于读取的文件。该文件必须存在。
  • 'w':写入模式。打开一个用于写入的文件。如果文件不存在,则会创建一个新文件。如果文件已经存在,则会覆盖该文件的内容。
  • 'a':追加模式。打开一个用于写入的文件。如果文件不存在,则会创建一个新文件。如果文件已经存在,则会在文件的末尾追加内容。
  • 'x':独占创建模式。创建一个新文件用于写入。如果文件已经存在,则会引发异常。
  • 'b':二进制模式。该模式以二进制方式打开文件。
  • 't':文本模式(默认模式)。该模式以文本方式打开文件。

下面是一个简单的例子,演示如何以只读模式打开一个文件:

file = open('example.txt', 'r')

这将打开名为example.txt的文件,并将其保存在名为file的对象中。请注意,为了防止资源泄漏,我们在完成文件操作后需要关闭文件。可以使用close()方法或使用with语句来自动关闭文件。

二、读取文件内容

一旦打开了文件,我们就可以使用read()方法来读取文件的内容。例如:

file = open('example.txt', 'r')  
content = file.read()  
print(content)

这将读取example.txt文件的内容,并将其打印到控制台中。请注意,read()方法将读取文件的全部内容,并将其作为一个字符串返回。如果文件很大,则可能会占用大量内存。在这种情况下,我们可以使用readlines()方法逐行读取文件内容:

file = open('example.txt', 'r')  
lines = file.readlines()  
for line in lines:  
    print(line)

这将逐行读取example.txt文件的内容,并将其打印到控制台中。readlines()方法返回一个包含所有行的列表,每行都是字符串类型。

三、写入文件内容

要写入文件内容,我们可以使用write()方法。例如:

file = open('example.txt', 'w')  
file.write('Hello, world!')  
file.close()

这将创建一个名为example.txt的新文件(如果该文件不存在),并在其中写入字符串"Hello, world!"。请注意,write()方法不会自动添加换行符,因此如果您需要在每行之间添加换行符,则需要在字符串末尾添加换行符('\n')。此外,在完成写入后,我们需要调用close()方法来关闭文件。

四、追加内容到文件末尾

如果您想将内容追加到文件的末尾而不是覆盖整个文件的内容,则可以使用'a'模式打开文件,并使用write()方法将内容写入文件中:

file = open('example.txt', 'a')  
file.write('Hello, again!')  
file.close()

这将向example.txt文件的末尾添加字符串"Hello, again!"。请注意,如果example.txt不存在,则会创建一个新文件。

五、文件路径

在打开文件时,我们可以使用绝对路径或相对路径指定文件的位置。绝对路径是从根目录开始的完整文件路径,而相对路径是从当前工作目录开始的文件路径。

例如,如果我们要打开位于C盘根目录下的example.txt文件,我们可以使用以下代码:

file = open('C:/example.txt', 'r')

如果我们要打开与当前Python脚本同一目录下的example.txt文件,我们可以使用以下代码:

file = open('./example.txt', 'r')

六、错误处理

在进行文件读写操作时,可能会遇到各种错误,例如文件不存在,文件访问权限不足等。为了避免程序崩溃,我们可以使用try-except语句来捕获和处理这些错误。

例如,以下代码演示了如何打开一个不存在的文件,并在出现异常时打印一条错误消息:

try:  
    file = open('nonexistent.txt', 'r')  
except FileNotFoundError:  
    print('File not found')

七、关闭文件

在完成文件操作后,我们应始终关闭文件,以释放系统资源。可以使用close()方法显式关闭文件,或者使用with语句自动关闭文件。

例如,以下代码演示了如何使用close()方法关闭文件:

file = open('example.txt', 'r')  
content = file.read()  
file.close()

或者,我们可以使用with语句自动关闭文件:

with open('example.txt', 'r') as file:  
    content = file.read()

无论使用哪种方法,我们都需要确保在完成文件操作后关闭文件。

八、文件读写的高级功能

除了基本的文件读写操作外,Python还提供了许多高级的文件读写功能。以下是一些常用的高级功能:

  1. 文件指针:使用seek()方法可以移动文件指针到指定位置。这对于读取文件的特定部分或跳过某些内容非常有用。
  2. 文件锁定:在多线程或多进程环境中,可以使用文件锁定来确保对文件的并发访问是安全的。Python的filelock模块提供了文件锁定的功能。
  3. 压缩文件读写:Python提供了许多用于读写压缩文件的库,例如gzip、bz2和zipfile。这些库可以方便地读取和写入压缩文件。
  4. 读取二进制文件:对于读取二进制文件,可以使用read()方法一次读取指定数量的字节,或者使用readline()和readlines()方法逐行或逐行列表读取内容。
  5. 写入二进制文件:与读取二进制文件类似,对于写入二进制文件,可以使用write()方法一次写入指定数量的字节。

总结

Python的文件读写功能非常强大和灵活。通过掌握这些基本概念和高级功能,我们可以轻松地处理文件读写操作,并更好地利用Python的文件处理能力。


相关文章
|
28天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
23天前
|
JSON 关系型数据库 数据库
【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
|
28天前
|
JSON 关系型数据库 数据库
【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
|
5天前
|
Python
python_读写excel、csv记录
python_读写excel、csv记录
10 0
|
1天前
|
Linux iOS开发 MacOS
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
|
2天前
【Python21天学习挑战赛】文件读写操作
【Python21天学习挑战赛】文件读写操作
|
5天前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
4 0
|
6天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
6天前
|
存储 安全 Python
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
|
7天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
21 0