Python 读文件
在 Python 中,读取文件对于实现各种数据处理任务是十分重要的。Python 提供了多种文件读取方式,本文将详细介绍如何以不同方式读取文件。
打开文件
在 Python 中,需要先打开文件,才可对其进行读取或写入操作。使用 open()
函数可以打开文件,并返回一个文件对象。具体语法如下:
file_object = open(file_name, mode)
参数说明:
file_name
:要访问的文件名或者路径。需要注意的是,要以字符串形式传递文件名和路径,且路径最好使用相对路径。mode
:文件打开模式,主要有以下几种模式:
模式 | 描述 |
---|---|
r |
以只读方式打开文件,该文件必须存在,文件指针在开头 |
w |
以写入方式打开文件,如果文件存在则会覆盖文件,如果不存在则新建文件 |
a |
以追加写入方式打开文件,如果文件不存在则新建文件。 |
x |
创建一个指定名称的文件,如果文件存在则无法创建文件 |
b |
以二进制模式打开文件 |
t |
以文本模式打开文件 |
+ (加号) |
可读可写模式。常用于需先读后写的情况(向已存在文件中追加内容) |
例如,创建一个名为 file.txt
的文件,并且以只读模式打开:
file_object = open("file.txt", "r")
创建一个名为 file.txt
的文件,并且以写入模式打开:
file_object = open("file.txt", "w")
读取文件
读取整个文件
使用 read()
方法可以读取整个文件,如需输出结果,可以将其赋值给一个字符串变量并输出。
with open("file.txt","r") as f:
contents = f.read()
print(contents)
逐行读取
使用 readline()
方法可以逐行读取文件,每次读取一行并返回字符串。当文件对象到达文件末尾时,返回一个空字符串。
with open("file.txt","r") as f:
line = f.readline()
while line:
print(line)
line = f.readline()
读取所有行
使用 readlines()
方法可以读取所有的行,并返回一个列表,每个元素对应所有行中的一个元素。
with open("file.txt","r") as f:
lines = f.readlines()
for line in lines:
print(line)
文件编码风格
默认情况下,Python 将在访问文件时使用 UTF-8 的编码格式。如果文件有其他编码格式,需要指定编码,如:
with open("file.txt", "r", encoding="gbk") as f:
contents = f.read()
结论
本文介绍了 Python 打开文件的基本操作,并提供了三个逐步读取文件的方法,希望可以对 Python 文件读取的初学者有所帮助。本文提供的示例代码可以直接拷贝到 Python 环境中运行,理解文件读取的过程。当然,Python 文件处理还有更多的强大特性等待大家去发掘。