Я не совсем понимаю, как в моем коде работает функция 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)?