【发布时间】:2019-08-18 16:59:39
【问题描述】:
我对 infile.readline() 函数在我的代码中的运行方式感到困惑。
注意:正在使用 Python 解释器 v2.7.15(64 位)。
infile = open(r'C:\Users\pritish\Desktop\test_file_for_py.txt', 'r')
print infile.read(5)
print infile.read(5)
print infile.readline(2)
test_file_for_py.txt 包含这些行:
This is line 1
This is line 2
This is line 3
This is line 4
This is line 5
This is line 6
This is line 7
This is line 8
在上面的 #TEST CODE 1 中,print infile.readline(2) 给出了输出 ne,这与预期的一样:
>>> infile = open(r'C:\Users\pritish\Desktop\test_file_for_py.txt', 'r')
>>> print infile.read(5)
This
>>> print infile.read(5)
is li
>>> print infile.readline(2)
ne
>>>
现在要注意了,无论我将哪个值(大于 4)作为参数传递给 infile.readline(),它都会给出与下面相同的结果。
>>> infile = open(r'C:\Users\pritish\Desktop\test_file_for_py.txt', 'r')
>>> print infile.read(5)
This
>>> print infile.read(5)
is li
>>> print infile.readline(5) # NOTE BELOW output
ne 1
>>>
>>> infile = open(r'C:\Users\pritish\Desktop\test_file_for_py.txt', 'r')
>>> print infile.read(5)
This
>>> print infile.read(5)
is li
>>> print infile.readline(8) #value is changed to 8 now , but still o/p same as previous(as like 5)
ne 1
>>>
谁能解释一下,为什么 infile.readline() 没有从下一行返回字符,即使我将 infile.readline() 参数更改为任何值 (>5)?
【问题讨论】:
-
readline在遇到\n字符时停止。readline,顾名思义,就是应该读取当前行。
标签: python python-3.x file-handling readline