def load_books(self): with open("books.txt", "r") as f: lines = f.readlines() for line in lines: author, title, publisher, price, brief, is_borrowed = line.strip().split(",") is_borrowed = True if is_borrowed == "True" else False if is_borrowed: borrow_time, borrower, return_time = line.strip().split(",") borrow_time = time.strptime(borrow_time, "%Y-%m-%d %H:%M:%S") borrower = borrower.strip() return_time = time.strptime(return_time, "%Y-%m-%d %H:%M:%S") else: borrow_time = None borrower = None return_time = None book = Book(author, title, publisher, price, brief, is_borrowed, borrow_time, borrower, return_time) self.books.append(book)
时间: 2024-02-14 17:21:02 浏览: 59
python: line=f.readlines()消除line中\n的方法
这段代码中,首先使用 `with open("books.txt", "r") as f:` 语句打开一个名为 "books.txt" 的文件,并将其内容读取到变量 `lines` 中。接下来,通过 `for line in lines:` 循环遍历每一行数据。在每一行数据中,使用 `line.strip().split(",")` 将其分成了六个部分,分别是作者、书名、出版社、价格、简介和是否借阅。其中最后一个部分的值是一个字符串,需要使用 `True if is_borrowed == "True" else False` 将其转换成布尔类型。如果该书被借阅,还需要再次使用 `line.strip().split(",")` 将其分成三个部分,分别是借阅时间、借阅者和归还时间,并使用 `time.strptime` 将字符串类型的时间转换成 `struct_time` 类型。最后,使用这些信息创建一个 `Book` 类型的对象,并将其添加到 `self.books` 列表中。
阅读全文