Python如何实现逐行读取文本文件

目录
  • Python 中的 open() 函数是什么
    • 文件名和正确路径
    • open() 中的可选模式参数
    • Python 中 open() 函数的其他参数
  • Python 中的 read() 方法
  • Python 中的 close() 方法
  • Python 中的 readline() 方法
  • Python 中的 readlines() 方法
  • 总结

在Python 中有几种方法可以读取文本文件。

在本文中,我将介绍 open() 函数、read() 方法、readline() 方法、readlines() 方法、close() 方法和 with 关键字。

Python 中的 open() 函数是什么

如果要在 Python 中读取文本文件,首先必须打开它。

这是 Python 的 open() 函数的基本语法:

open("name of file you want opened", "optional mode")

文件名和正确路径

open("demo.txt")

如果文本文件和你当前的文件在同一目录(“文件夹”)中,那么你只需在 open() 函数中引用文件名即可。

以下是两个文件位于同一目录中的示例:

如果你的文本文件位于不同的目录中,则你需要引用文本文件的正确路径名。

在此示例中,random-text 文件位于与 main.py 不同的文件夹中:

为了在 main.py 中访问该文件,你必须在文件名中包含文件夹名称。

open("text-files/random-text.txt")

如果你没有正确的文件路径,那么你将收到如下错误消息:

open("random-text.txt")

跟踪你所在的目录非常重要,这样你可以引用正确的路径名。

open() 中的可选模式参数

处理文件时有不同的模式。默认模式是读取模式。

字母 r 代表读取模式。

open("demo.txt", mode="r")

你也可以省略 mode=,只用 "r"。

open("demo.txt", "r")

还有其他类型的模式,例如用于写入的 "w" 或用于追加的 "a"。我不会详细介绍其他模式,因为我们只会专注于读取文件。

有关其他模式的完整列表,请阅读文档

Python 中 open() 函数的其他参数

open() 函数可以接收其他可选参数:

  • buffering
  • encoding
  • errors
  • newline
  • closefd
  • opener

阅读文档了解更多参数。

Python 中的 readable() 方法

如果要检查文件是否可以读取,则可以使用 readable() 方法。这将返回 True 或 False。

此示例将返回 True,因为我们处于读取模式:

file = open("demo.txt")
print(file.readable())

如果我将此示例更改为 "w"(写入)模式,则 readable() 方法将返回 False:

file = open("demo.txt", "w")
print(file.readable())

Python 中的 read() 方法

read() 方法会将文件的所有内容作为一个字符串读取。如果文本文件中的内容不多,这是一个很好的方法。

在本例中,我使用 read() 方法从 demo.txt 文件中打印出名称列表:

file = open("demo.txt")
print(file.read())

此方法可以接收一个名为 size 的可选参数。不是读取整个文件,而是只读取其中的一部分。

如果我们修改前面的例子,可以通过添加数字 4 作为 read() 的参数,只打印出第一个单词。

file = open("demo.txt")
print(file.read(4))

如果省略 size 参数,或者数字为负数,则将读取整个文件。

Python 中的 close() 方法

完成读取文件后,关闭它很重要。如果你忘记关闭文件,则可能会导致问题。

这是如何关闭 demo.txt 文件的示例:

file = open("demo.txt")
print(file.read())
file.close()

如何使用 with 关键字在 Python 中关闭文件

确保文件关闭的一种方法是使用 with 关键字。这被认为是一种很好的做法,因为文件会自动关闭,而你不必手动关闭它。

以下是如何使用 with 关键字重写我们的示例:

with open("demo.txt") as file:
    print(file.read())

Python 中的 readline() 方法

此方法将从文件中读取一行并返回。

在这个例子中,我们有一个包含这两个句子的文本文件:

This is the first line
This is the second line

如果我们使用 readline() 方法,它只会打印文件的第一句话。

with open("demo.txt") as file:
    print(file.readline())

此方法还接受可选的 size 参数。我们可以修改例子,加上数字 7 来只读取和打印出来This is:

with open("demo.txt") as file:
    print(file.readline(7))

Python 中的 readlines() 方法

此方法将读取并返回文件中所有行的列表。

在此示例中,我们将使用 readlines() 方法将杂货项目打印为列表。

with open("demo.txt") as file:
    print(file.readlines())

如何使用 for 循环从 Python 中的文件中读取行

这些不同读取方法的替代方法是使用 for 循环。

在这个例子中,我们可以通过循环对象打印出 demo.txt 文件中的所有项目。

with open("demo.txt") as file:
    for item in file:
        print(item)

总结

如果要在 Python 中读取文本文件,首先必须打开它。

open("name of file you want opened", "optional mode")

如果文本文件和你当前的文件在同一目录(“文件夹”)中,那么你只需在 open() 函数中引用文件名即可。

如果你的文本文件位于不同的目录中,则你需要引用文本文件的正确路径名。

open() 函数接受可选的 mode(模式)参数。默认模式是读取模式。

open("demo.txt", "r")

如果要检查文件是否可以读取,则可以使用 readable() 方法。这将返回 True 或 False。

file.readable()

read() 方法会将文件的所有内容作为一个字符串读取。

file.read()

完成读取文件后,关闭它很重要。如果你忘记关闭文件,则可能会导致问题。

file.close()

确保文件关闭的一种方法是使用 with 关键字。

with open("demo.txt") as file:
    print(file.read())

readline() 方法将从文件中读取一行并返回。

file.readline()

readlines() 方法将读取并返回文件中所有行的列表。

file.readlines()

这些不同读取方法的替代方法是使用 for 循环。

with open("demo.txt") as file:
    for item in file:
        print(item)

以上就是Python如何实现逐行读取文本文件的详细内容,更多关于Python逐行读取文本文件的资料请关注我们其它相关文章!

(0)

相关推荐

  • python读取浮点数和读取文本文件示例

    从文本文件中读入浮点数据,是最常见的任务之一,python没有scanf这样的输入函数,但我们可以利用正规表达式从读入的字符串中提取出浮点数 复制代码 代码如下: import refp = open('c:/1.txt', 'r')s = fp.readline()print(s)aList = re.findall('([-+]?\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?',s) #使用正规表达式搜索字符串print(aList)for ss in aList:   

  • Python 如何读取.txt,.md等文本文件

    看代码吧~ # example.md 1 2 3 4 5 6 7 8 9 >>> with open('example.md') as f: lines = f.readlines() >>> lines ['1 2 3\n', '4 5 6\n', '7 8 9\n'] # 我们发现每一行后面都会有一个回车符,我们使用strip()函数消除它 >>> lines = [i.strip() for i in lines] ['1 2 3', '4 5

  • Python读取文件夹下的所有文件实例代码

    Python读取文件夹下的所有文件 os.listdir(path)是得到在path路径下所以文件的名称列表. open(path)是打开某个文件. iter是python的迭代器. 所以读取某文件夹下的所有文件如下: import os path = "D:/Python34/news" #文件夹目录 files= os.listdir(path) #得到文件夹下的所有文件名称 s = [] for file in files: #遍历文件夹 if not os.path.isdir

  • python进阶教程之文本文件的读取和写入

    Python具有基本的文本文件读写功能.Python的标准库提供有更丰富的读写功能. 文本文件的读写主要通过open()所构建的文件对象来实现. 创建文件对象 我们打开一个文件,并使用一个对象来表示该文件: 复制代码 代码如下: f = open(文件名,模式) 最常用的模式有: 复制代码 代码如下: "r"     # 只读 "w"     # 写入 比如 复制代码 代码如下: >>>f = open("test.txt",&

  • python3读取文件指定行的三种方法

    行遍历实现 在python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到python的file.readline()进行迭代式的逐行读取: filename = 'hello.txt' with open(filename, 'r') as file: line = file.readline() counts = 1 while line: if counts >= 50000000:

  • Python从文件中读取数据的方法步骤

    一.读取整个文件内容 在读取文件之前,我们先创建一个文本文件resource.txt作为源文件. resource.txt my name is joker, I am 18 years old, How about you? 如何读取文件全部内容,我们编写到reader.py文件中. reader.py with open('resource.txt') as file_obj: content = file_obj.read() print(content) 需要注意的是需要将resourc

  • Python如何实现逐行读取文本文件

    目录 Python 中的 open() 函数是什么 文件名和正确路径 open() 中的可选模式参数 Python 中 open() 函数的其他参数 Python 中的 read() 方法 Python 中的 close() 方法 Python 中的 readline() 方法 Python 中的 readlines() 方法 总结 在Python 中有几种方法可以读取文本文件. 在本文中,我将介绍 open() 函数.read() 方法.readline() 方法.readlines() 方法

  • Shell脚本逐行读取文本文件(不改变文本格式)

    网上有很多 shell script 读文本文件的例子,但是都没有讲出故事的全部,只说了一半.举个例子,比如从一个 testfile 文件中读取如下格式的文本行: 复制代码 代码如下: $ vi testfile ls      -a -l /bin |  sort ls      -a -l /bin |  sort | wc ls      -a -l |  grep sh | wc ls      -a -l ls      -a -l |       sort      |    wc

  • Python逐行读取文件内容的方法总结

    Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可. 方法一:readline函数 # -*- coding: UTF-8 -*- f = open("/pythontab/code.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: # pri

  • Java读取文本文件的各种方法

    目录 1.方法 方法一. 使用BufferedReader类 方法二.使用 FileReader 类 方法三.使用 Scanner 类 方法四.读取列表中的整个文件 2.语法 方法五.将文本文件读取为字符串 前言: 有多种写入和读取文本文件的方法.这在处理许多应用程序时是必需的.在 Java 中有多种方法可以读取纯文本文件,例如你可以使用FileReader.BufferedReader或Scanner来读取文本文件.每个实用程序都提供了一些特殊的东西,例如 BufferedReader 为快速

  • python使用fileinput模块实现逐行读取文件的方法

    本文实例讲述了python使用fileinput模块实现逐行读取文件的方法.分享给大家供大家参考.具体实现方法如下: #-------------------------------- # Name: read_lines.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to use fileinput to read # each l

  • PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法

    本文实例讲述了PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法.分享给大家供大家参考,具体如下: test.txt文件: Welcome to our website jb51.net www.jb51.net php asp java jsp php代码(读取test.txt文件): $myfile = fopen("test.txt", "r"); while(!feof($myfile)) { $line_str = fgets($myfile)

  • python 读取文本文件的行数据,文件.splitlines()的方法

    一般跟踪训练的ground_truth的数据保存在文本文文件中,故每一行的数据为一张图片的标签数据,这个时候读取每一张图片的标签,具体实现如下: test_txt = '/home/zcm/tensorf/siamfc-tf-master/data/Biker/groundtruth.txt' def load_label_set(label_dir): label_folder = open(label_dir, "r") trainlines = label_folder.read

  • Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 with open('pi_digits.txt') as f: # 默认模式为'r',只读模式 contents = f.read() # 读取文件全部内容 print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行) print '

  • Python 实现RSA加解密文本文件

    近来在使用python写项目,特此记录一下项目中遇到的文件加解密问题. 关于python版本的加密算法,随便搜一搜还是可以检索出来很多的,不过大都是同一篇文章在不同的平台来回发布,或者就是转载,而且例举的都是最简单的情况,那么,实际项目中使用的话,肯定会比这个要稍微复杂一些,比如我的需求就是要加密一个使用mysqldump出来的数据库脚本文件,直接拿网上的例子过来调用肯定是不行的,所以不得不自己研究了一番,特此记录. RSA算法 什么是RSA算法? 项目选型的算法是RSA非对称加密算法,关于这个

随机推荐