2017-02-17 6 views
-3

Это простой вопрос, но может ли кто-нибудь дать мне руку на то, чтобы заставить мой код работать? Ошибка в строке 9 с ошибкой AttributeError: объект 'str' не имеет атрибута 'write'. Было бы очень признательно, если бы кто-то помог мне решить эту небольшую проблему.AttributeError: объект 'str' не имеет атрибута 'write'

myFile = ("cat2numbers.txt") 
with open("cat2numbers.txt", "wt") as f: 
    print("Writing to the file: ", myFile) # Telling the user what file they will be writing to 
    for i in range(9): 
     sentence = input("Please enter a sentence without punctuation ").lower() # Asking the user to enter a sentence 
     words = sentence.split() # Splitting the sentence into single words 
     positions = [words.index(word) + 1 for word in words] 
     f.write(", ".join(map(str, positions))) # write the places to myFile 
     myFile.write("\n") 
     print("The positions are now in the file") 

спасибо.

+0

'myFile' - это строка, а не файл' f'. Вы, вероятно, хотели использовать 'f.write()' вместо этого. –

+0

Пожалуйста, по крайней мере, отправляйте код, который является синтаксически правильным; скобки не сбалансированы, и отсутствует цитата. –

+0

Я только что понял, что сам и планирую исправить это сейчас. – minmooongie

ответ

0

Похоже, вы правильно писать в одной строке и неправильно в следующем:

f.write(", ".join(map(str, positions))) # write the places to myFile 
    myFile.write("\n") 

Попробуйте решить эту вторую строку f.write("\n"), или даже добавить символ новой строки в одной записи, как f.write(", ".join(map(str, positions)) + "\n")

Смежные вопросы