def add_bookType(): print("========================================") Book_Type.booktype_id = input("请输入图书类别编号:") Book_Type.booktype_name = input("请输入图书类别名称:") with open("booktype.csv", mode="a", encoding="utf-8", newline='') as file: writer = csv.writer(file) writer.writerow(Book_Type) print("========================================")这段代码有什么错
时间: 2023-08-06 08:24:29 浏览: 83
这段代码中存在一个问题:`Book_Type` 对象未被实例化。在代码中,你试图将 `booktype_id` 和 `booktype_name` 属性分别赋值给 `Book_Type` 对象,但是 `Book_Type` 对象并没有被创建。
你需要先创建一个 `Book_Type` 对象,然后为其属性赋值。例如:
```python
def add_bookType():
print("========================================")
book_type = Book_Type()
book_type.booktype_id = input("请输入图书类别编号:")
book_type.booktype_name = input("请输入图书类别名称:")
with open("booktype.csv", mode="a", encoding="utf-8", newline='') as file:
writer = csv.writer(file)
writer.writerow([book_type.booktype_id, book_type.booktype_name])
print("========================================")
```
在这个示例中,我们首先创建了一个 `Book_Type` 对象,并将其赋值给 `book_type` 变量。然后,我们为 `book_type` 对象的属性 `booktype_id` 和 `booktype_name` 分别赋值。最后,我们使用 `writerow()` 方法将 `book_type` 对象的属性值写入 CSV 文件中。
需要注意的是,在 `writerow()` 方法中,我们需要提供一个包含 `book_type` 对象的属性值的列表,而不是直接将 `book_type` 对象作为参数传递。因为 `writerow()` 方法期望的是一个可迭代对象,而不是一个对象。
另外,你需要先定义 `Book_Type` 类,以便在函数中实例化它。
阅读全文