Python 初学者练习:文件读取方法详解

liftword4个月前 (02-25)技术文章31

在本文中,我们将学习如何在 Python 中读取文件中的数据。

Python中文件打开模式

模式

描述

r

打开文件进行读取。(默认)

w

打开文件进行写入。如果文件不存在,则创建新文件,如果文件存在,则截断该文件。

x

打开文件进行独占创建。如果该文件已存在,则操作将失败。

a

打开文件以追加在文件末尾而不截断它。创建一个新文件(如果该文件不存在)。

t

以文本模式打开。(默认)

b

以二进制模式打开。

+

打开文件进行更新(读取和写入)

Python中读取文本文件

以下代码演示如何在 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)

「文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!」

相关文章

推荐个超实用的Python标准库pathlib,玩转路径操作

pathlib学习 Python 时,尤其是在进行文件操作和数据处理时,经常会处理路径问题。最常用和常见的是 os.path 模块,它将路径当做字符串进行处理,如果使用不当可能导致难以察觉的错误,而且...

Python高手进阶:深入os.path模块高效处理路径问题

Python的os.path模块是os模块中关于路径操作部分的子模块,它提供了大量用于处理文件和目录路径的函数,特别适用于跨平台的文件系统操作。无论是在Windows、Linux还是macOS上,os...

Python正则之glob库_python正则sub

0、glob模块和通配符glob模块最主要的方法有2个:1、glob() 2、iglob()以上2种方法一般和通配符一起使用,常用的通配符有3个:* :匹配零个或多个字符...

Python os.path模块使用指南:轻松处理文件路径

前言在Python编程中,文件和目录的操作是非常重要的一部分。为了方便用户进行文件和目录的操作,Python标准库提供了os模块。其中,os.path子模块提供了一些处理文件路径的函数和方法。本文主要...

Python自动化测试之模块、包与路径知识讲解

一、前言小伙伴们,大家好呀,最近这几天因为端午假期的原因,有三天没有更文了,今天呢还是接着python基础来讲,这篇文章主要讲解Python中模块、包以及路径的相关知识点内容,是自动化测试框架设计的基...

教你用 Python 爬取 Baidu 文库全格式文档

考虑到现在大部分小伙伴使用 Python 主要因为爬虫,那么为了更好地帮助大家巩固爬虫知识,加深对爬虫的理解,选择了爬取百度文库作为我们的目标。废话不多说,我们开始。TXT、DOCX 爬取与保存这是小...