Чтение файла ничего не возвращает (python)

#python

Вопрос:

Это часть моего кода для простой музыкальной викторины. Однако file.readline() возвращает пустое пространство всякий раз, когда я его запускаю. Существует текстовый файл под названием storage.txt с данными в нем. Я пробовал использовать file.seek(), file.read () и file.readlines (), но до сих пор ни один из них не позволил мне напечатать определенную строку.

 points = 0
question_number = 0

file = open("storage.txt","r")
while True: 
 question_number = question_number   1
 keyword = file.readline(question_number)
 print("Who made this song?")
 answer = input(keyword)
 if answer == file.readline(question_number 1):
  print("You got it right, 1 point for you!")
  points  = 1
 else:
  print("You lost with",points,"points.")
  break

file.close()
print("All done.")
 

Комментарии:

1. Вы можете проверить определение строки чтения один раз? w3schools.com/python/ref_file_readline.asp

Ответ №1:

Использование file.readline() здесь неверно. Проверьте, какие параметры должна получить функция. Может быть, это могло бы помочь. readline() считывает следующую строку файла, а не строку, указанную в параметре. Параметр на самом деле size или сколько байтов нужно прочитать в строке. Если вы хотите прочитать конкретную строку, я бы предложил сделать что-то вроде этого —

 keyword = file.readlines()[question_number]
 

возможно, вы захотите обратиться к этому, чтобы узнать, как использовать эту readlines() функцию.

В любом случае, я предлагаю вам назвать переменную файла как-то иначе, так как файл-это сохраненное слово. Назовите это как-нибудь my_file , или song_titles_file , или любым другим значимым именем.