readline()的操作方式令人困惑

2024-10-03 17:20:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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

在上面的测试代码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)?


Tags: pytesttxtforreadreadlineisline
1条回答
网友
1楼 · 发布于 2024-10-03 17:20:17

readline到达新行字符时停止。可选的size参数指定最多读取多少个字符。如果它在读取size字符之前遇到换行符,它仍然会停止,并且size参数变得不相关

the documentation

相关问题 更多 >