#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
, или любым другим значимым именем.