Почему я не могу прочитать строку из файла и распечатать ее? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть следующий код:

test_file = open("test.txt","r")
line1 = test_file.readline(1)
test_file.close()
line1 = int(line1)
print(line1)

У меня 12 записано в файл.

Я просто получаю вывод 1.

Можеткто-нибудь, пожалуйста, объясните, что не так с этим кодом?

Ответы [ 3 ]

2 голосов
/ 24 сентября 2019

Функция readline() не имеет параметра для чтения специальной строки.Он читает из файла построчно для каждого вызова.Чтобы прочитать только первую строку, вызовите функцию один раз как:

line1 = test_file.readline()
1 голос
/ 24 сентября 2019

Вы передали size для чтения в вашем коде.Он читает байты в соответствии с переданным размером в readline метод

Также используйте with, чтобы открыть файл (питонским способом)

with open("test.txt","r") as test_file:
    line1 = test_file.readline()
    line1 = int(line1)
print(line1)
0 голосов
/ 24 сентября 2019

Когда вы указываете 1, вы говорите readline(), чтобы брать только первый символ в вашей строке, лучше сделать это обновление для вашего кода:

test_file = open("test.txt","r")
line1 = test_file.readline() # Remove the indice 1
test_file.close()
line1 = int(line1)
print(line1)

Или в одной строке, напримерэто:

print(int(open("test.txt","r").readline()))
...