Возможно, что в том же сеансе консоли вы уже открыли и прочитали файл , но забыли закрыть его . Затем вы повторно запустили тот же readline
или readlines()
, который вернул бы пустой, потому что указатель файла уже находится в конце файла.
$ cat employees.txt
Jim-Sales
111
222
$ python3.7
Python 3.7.2 (default, Mar 8 2019, 19:01:13)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> employee_file = open('employees.txt', 'r')
>>> print(employee_file.readline())
Jim-Sales
>>> print(employee_file.readlines())
['111\n', '222\n']
>>>
>>>
>>>
>>> print(employee_file.readline())
>>> print(employee_file.readlines())
[]
Вот почему рекомендуется всегда оберните это в with
заявление :
>>> with open("employees.txt", "r") as employee_file:
... print(employee_file.readlines())
...
['Jim-Sales\n', '111\n', '222\n']
>>> with open("employees.txt", "r") as employee_file:
... print(employee_file.readlines())
...
['Jim-Sales\n', '111\n', '222\n']