我在管理代码并试图弄清楚为什么出现此错误时遇到问题
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”
答案 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
是一个包含您的书名的列表。