Python读取输入的每行

在Python编程中,我们经常需要从用户或外部文件中读取输入数据。读取输入的每一行是很常见的需求,因为它可以帮助我们逐行处理大型数据集或文本文件。Python提供了几种方法来读取输入的每一行,本文将介绍其中的三种方法:使用input函数、使用sys.stdin和使用文件对象的readline方法。

使用input函数

最简单的方法是使用内置的input函数。它可以从标准输入中读取一行数据,并返回一个包含该行数据的字符串。

line = input("请输入一行数据:")
print(line) 

上述代码中,我们使用input函数读取用户输入的一行数据,并将其存储在变量line中。然后,我们使用print函数将该行数据打印出来。

使用sys.stdin

另一种常见的方法是使用sys.stdin对象。它是sys模块中的一个文件对象,可以用于读取标准输入。我们可以使用它的readline方法来逐行读取输入。

import sys

for line in sys.stdin:
    line = line.strip()  # 去除行尾的换行符
    print(line)

上述代码中,我们使用了一个for循环来读取sys.stdin中的每一行数据。在每次迭代中,readline方法会读取一行,并将其存储在变量line中。然后,我们使用strip方法去除行尾的换行符,并使用print函数打印该行数据。

使用文件对象的readline方法

如果要从一个文件中逐行读取数据,我们可以使用文件对象的readline方法。首先,我们需要使用内置的open函数打开文件,并将文件对象存储在一个变量中。然后,可以使用该文件对象的readline方法来读取每一行数据。

with open("data.txt", "r") as file:
    line = file.readline()
    while line:
        line = line.strip()
        print(line)
        line = file.readline()

上述代码中,我们使用open函数打开名为data.txt的文件,并将文件对象存储在变量file中。然后,我们使用readline方法读取文件的第一行,并将其存储在变量line中。接下来,我们使用一个while循环来逐行读取文件的每一行,直到文件末尾。在每次迭代中,我们使用strip方法去除行尾的换行符,并使用print函数打印该行数据。

总结

本文介绍了三种常见的方法来读取Python中的每一行输入数据。使用input函数可以从标准输入读取用户输入的数据,使用sys.stdin可以逐行读取标准输入,使用文件对象的readline方法可以逐行读取文件中的数据。根据具体的应用场景和需求,我们可以选择合适的方法来读取输入的每一行。

以下是一个使用mermaid语法表示的读取输入的每行的序列图:

sequenceDiagram
    participant User
    participant Program
    User->>Program: 输入一行数据
    Program->>User: 输出该行数据

表格:

方法 描述
input 从标准输入读取一行数据
sys.stdin 逐行读取标准输入
文件对象的readline方法 逐行读取文件中的数据

通过以上的介绍和代码示例,希望读者能够理解如何使用Python读取输入的每一行,并能够根据实际需求选择合适的方法。