Python 文件 readline() 方法



Python 文件的 readline() 方法从文件中读取一行。此方法在读取行的末尾附加一个尾随换行符 ('\n')。

readline() 方法还接受一个可选参数,可以在其中指定要从一行读取的字节数,包括换行符。默认情况下,此可选参数为 0,因此读取整行。

仅当立即遇到 EOF 时才返回空字符串。

注意

  • 如果文件以普通读取模式打开,则该方法以字符串形式返回该行。
  • 如果文件以二进制读取模式打开,则该方法返回二进制对象。

语法

以下是 Python 文件 readline() 方法的语法:

fileObject.readline(size);

参数

  • size - 这是要从文件中读取的字节数。

返回值

此方法返回从文件中读取的行。

示例

让我们使用现有的文件“foo.txt”来使用 Python 文件 readline() 方法读取一行。foo.txt 文件中的内容如下:

This is 1st line
This is 2nd line
This is 3rd line
This is 4th line
This is 5th line

以下示例显示了在上面提到的演示文件上使用 readline() 方法。

# Open a file
fo = open("foo.txt", "r+")
print("Name of the file: ", fo.name)

# Assuming file has following 5 lines
# This is 1st line
# This is 2nd line
# This is 3rd line
# This is 4th line
# This is 5th line

line = fo.readline()
print("Read Line:", line)

# Close opened file
fo.close()

当我们运行以上程序时,它会产生以下结果:

Name of the file: foo.txt
Read Line: This is 1st line 

示例

但是,如果我们将一些值作为可选参数 size 传递,则该方法仅读取最多给定的字节并在末尾附加换行符。

# Open a file
fo = open("foo.txt", "r+")
print("Name of the file: ", fo.name)

# Passing the size argument to the readline() method
line = fo.readline(5)
print("Read Line:", line)

# Close opened file
fo.close()

如果我们编译并运行上面的程序,则会产生以下结果:

Name of the file: foo.txt
Read Line: This

示例

现在,如果文件以读取二进制模式 (rb) 打开,则该方法将返回二进制对象。

我们使用 open() 函数以读取二进制模式 (rb) 打开现有的文件“foo.txt”。readline() 方法在 open() 方法返回的文件对象上调用,以获取作为文件行的二进制形式的返回值。

# Open a file
fo = open("foo.txt", "rb")
print("Name of the file: ", fo.name)

line = fo.readline()
print("Read Line:", line)

# Passing the optional parameter
line = fo.readline(5)
print("Read Line:", line)

# Close opened file
fo.close()

程序编译并运行后,输出显示如下:

Name of the file:  foo.txt
Read Line: b'This is 1st line\r\n'
Read Line: b'This '

示例

即使 size 参数大于当前文件中一行的长度,该方法也只返回完整行。

# Open a file
fo = open("foo.txt", "r")
print("Name of the file: ", fo.name)

line = fo.readline(40)
print("Read Line:", line)

# Close opened file
fo.close()

让我们编译并运行给定的程序,输出显示如下:

Name of the file:  foo.txt
Read Line: This is 1st line

python_file_methods.htm
广告