在本文中,我们将学习如何在 Python 中读取文件中的数据。
Python中文件打开模式模式 | 描述 |
r | 打开文件进行读取。(默认) |
w | 打开文件进行写入。如果文件不存在,则创建新文件,如果文件存在,则截断该文件。 |
x | 打开文件进行独占创建。如果该文件已存在,则操作将失败。 |
a | 打开文件以追加在文件末尾而不截断它。创建一个新文件(如果该文件不存在)。 |
t | 以文本模式打开。(默认) |
b | 以二进制模式打开。 |
| 打开文件进行更新(读取和写入) |
以下代码演示如何在 Python 中使用绝对路径读取文本文件。
「读取整个文件内容,使用read()函数:」
try:
fp=open(r"C:\temp\Files\abc.txt", "r")
txt1=fp.read()
print(txt1)
fp.close()
except FileNotFoundError:
print("请检查路径!")
「读取文件中的n个字符」
使用read(n),从光标位置开始读取,跨行读取时,换行符计算在内。
try:
fp=open(r"C:\temp\files\abc.txt", "r")
txt1=fp.read(10)
print(txt1)
fp.close()
except FileNotFoundError:
print("请检查路径!")
「从文件读取一行readline():」
try:
fp=open(r"C:\temp\files\abc.txt", "r")
txt1=fp.readline()
print(txt1)
fp.close()
except FileNotFoundError:
print("请检查路径!")
「从文件中读取前3行」
可以使用for循环读取:
with open('abc.txt', 'r') as file:
for i in range(3):
print(file.readline().strip())
「使用readline()读取整个文件」
我们可以使用readline(),通过 while 循环读取整个文件。只需要检查指针是否已到达文件末尾,然后逐行遍历文件。
with open('abc.txt', 'r') as file:
#读第一行
line=file.readline()
#读取内容不为空,则循环读取
while line!='':
print(line, end='')
line=file.readline()
「使用 readline() 读取第一行和最后一行」
因为readline()方法总是从头开始读取,可以通过调用该方法来获取第一行。可以使用循环来获取最后一行。
with open("abc.txt", "r") as file:
#读第一行
first_line=file.readline()
print(first_line)
for last_line in file:
pass
print(last_line)
「使用readlines()将文件内容读入列表」
readlines()将返回整个文件内容。内容的读取将从文件的开头开始,直到文件结束。并将内容存储在列表中。此方法的输出是一个列表。
with open('abc.txt', 'r') as fp:
txt=fp.readlines()
print(txt)
「从文件中读取前n行存储到列表」
n=2
with open("abc.txt","r") as file:
head=[next(file) for x in range(n)]
print(head)
「从文件中读取后n行存储到列表」
可以通过使用列表索引和切片来获取文件的最后几行。
n=2
with open('abc.txt', 'r') as fp:
txt=fp.readlines()[n:]
print(txt)
「以相反的顺序读取文件」
默认从文件开头读取内容,还可以使用reversed()方法以相反的顺序读取文件的内容。
with open('abc.txt', 'r') as fp:
txt=fp.readlines()
for i in reversed(txt):
print(i)
「读取二进制文件」
二进制文件是包含(0和1)数据的文件。通常一行没有终止符EOL(行尾)。
with open("1.jpg", "rb") as fp:
byte_content=fp.read(1)
while byte_content:
print(byte_content)
「文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!」