继续获取AttributeError:“ list”对象没有属性“ split”错误

时间:2019-01-12 12:52:41

标签: python python-3.x

我在管理代码并试图弄清楚为什么出现此错误时遇到问题

books_title = open("books.txt", "a")
books = [books_title]
books_title.write("Narnia"+"\n")
books_title.write("Sagan om ringen"+"\n")
books_title.write("Snabba Cash"+"\n")
books_title.write("Star Wars"+"\n")
books_title.write("Harry Potter"+"\n")
books_title.close()

print("Böcker")
print("-"*5) 
books_title = open("books.txt", "r")
print(books_title.read())
books_title.close()

books_title = open("books.txt", "w")
remove = input("Vilken bok vill du ta bort? ")
while remove not in books.split("\n"):
 print("Boken du försöker ta bort finns inte")
 remove = input("Vilken bok vill du ta bort? ")
for line in books.split("\n"):
 if line != remove:
    books_title.write(line + "\n")
print("Tar bort boken {}".format(remove))
print("-"*40)
txt_file.close()

回溯(最近通话最近):   文件“ C:\ Users \ beaudouin11 \ Desktop \ Python programing \ Fil och felhantering.py”,第18行,在     同时删除不在books.split(“ \ n”)中的内容: AttributeError:“ list”对象没有属性“ split”

2 个答案:

答案 0 :(得分:0)

HAL_FLASHEx_Erase(&pEraseInit,0);行开始,图书就是清单

删除[]以保留字符串。

答案 1 :(得分:0)

我想这就是您想要的:

with open("books.txt", "r") as f:
    books = f.readlines()
    books = [book.strip() for book in books]

while remove not in books:
    print("Boken du försöker ta bort finns inte")

它逐行读取books.txt,然后在每行末尾删除'\ n'。

现在books是一个包含您的书名的列表。