python定义函数(add_bookType()):添加图书类别信息,数据存储到文件(booktype.csv)中
时间: 2024-01-09 14:03:21 浏览: 146
好的,以下是一个简单的Python函数,可以实现添加图书类别信息并将数据存储到文件(booktype.csv)中的功能:
```python
import csv
def add_bookType():
book_type = input("请输入图书类别:")
book_type_info = [book_type] # 将图书类别数据存储到列表中
with open("booktype.csv", mode="a", encoding="utf-8", newline='') as file:
writer = csv.writer(file)
writer.writerow(book_type_info)
print("图书类别信息已添加成功!")
```
该函数中使用了Python内置的CSV模块,通过`csv.writer()`方法来将数据写入CSV文件中。其中,`mode`参数设置为`"a"`表示以追加模式打开文件,`encoding`参数设置为`"utf-8"`表示使用UTF-8编码,`newline`参数设置为空字符串表示不使用换行符。函数中首先让用户输入图书类别信息,然后将其存储到一个列表中,最后使用`writer.writerow()`方法将列表中的数据写入CSV文件中。最后输出添加成功的提示信息。
相关问题
在添加图书的时候,要求定义类booktype2,定义readBookType()方法,实现从booktype.csv读取图书类别的方法。 定义函数(add_book()):添加图书信息,数据存储到文件(book.csv)中,通过图书类别编号,调用booktype2类中的readBookType()方法读取图书类别的名称
好的,那么您可以按照以下步骤来实现从booktype.csv读取图书类别信息,以及在添加图书时调用该方法:
1. 定义BookType类,包括图书类别编号和图书类别名称两个属性。
```python
class BookType:
def __init__(self, id, name):
self.id = id
self.name = name
```
2. 定义readBookType方法,从booktype.csv文件中读取图书类别信息,并以列表形式返回。
```python
def readBookType():
booktypes = []
with open('booktype.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
booktype = BookType(row[0], row[1])
booktypes.append(booktype)
return booktypes
```
3. 在添加图书时,先调用readBookType方法获取所有图书类别信息,然后根据用户输入的图书类别编号,查找对应的图书类别名称。
```python
def add_book():
booktypes = readBookType()
# 获取用户输入的图书信息
bookid = input('请输入图书编号:')
bookname = input('请输入图书名称:')
bookauthor = input('请输入图书作者:')
bookprice = input('请输入图书价格:')
booktypeid = input('请输入图书类别编号:')
# 查找图书类别名称
booktypename = ''
for booktype in booktypes:
if booktype.id == booktypeid:
booktypename = booktype.name
break
if booktypename == '':
print('错误:无法找到对应的图书类别')
return
# 将图书信息写入book.csv文件
with open('book.csv', 'a', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow([bookid, bookname, bookauthor, bookprice, booktypeid, booktypename])
print('成功添加图书信息!')
```
这样,当用户添加图书时,程序将会先从booktype.csv文件中读取图书类别信息,然后根据用户输入的图书类别编号,在图书类别列表中查找对应的图书类别名称。最后将图书信息写入book.csv文件,包括图书类别名称。
使用Python语言完成图书管理功能的开发,要求该功能至少包括:输出图书管理主菜单、添加图书信息、删除图书信息、修改图书别信息、显示所有图书信息。要求将图书类别存储到book.csv文件中,文件格式如下: 1.定义函数(PrintBookMenu()):输出图书管理主菜单,输出样式如下: 图书管理 1添加图书 2.删除图书 3修改图书 4 显示所有图书 0.退出系统 请输入功能对应的数宇: 1.定义函数(add_book()):添加图书信息,数据存储到文件(book.csv)中,信息添加过程如下图所示: 请输入功能对应的数字:1 请输入图书类别编号:1 请输入图书编号:1 请输入图书名称:Python程产设计 请输入作者:单晁明 请输入出版社:北京理工大学出版社 请输入出版时间:2020-09-18 请输入ISBN号: 13123-43432-212 添加成功 通过图书类别编号,调用booktype2类中的readBookType()方法读取图书类别的名称。2. 定义函数(del_book()):删除图书信息,从文件(book.csv)中删除,删除过程如下图所示: 请输入功能对应的数字
以下是一个示例代码,实现了您提出的图书管理功能:
```python
import csv
class Book:
def __init__(self, book_type, book_id, book_name, author, publisher, publish_date, isbn):
self.book_type = book_type
self.book_id = book_id
self.book_name = book_name
self.author = author
self.publisher = publisher
self.publish_date = publish_date
self.isbn = isbn
class BookType:
def __init__(self):
self.book_types = {}
def read_book_type(self, book_type_id):
return self.book_types[book_type_id]
def print_book_menu():
print("图书管理")
print("1.添加图书")
print("2.删除图书")
print("3.修改图书")
print("4.显示所有图书")
print("0.退出系统")
choice = input("请输入功能对应的数字:")
return choice
def add_book():
book_type_id = input("请输入图书类别编号:")
book_id = input("请输入图书编号:")
book_name = input("请输入图书名称:")
author = input("请输入作者:")
publisher = input("请输入出版社:")
publish_date = input("请输入出版时间:")
isbn = input("请输入ISBN号:")
book = Book(book_type_id, book_id, book_name, author, publisher, publish_date, isbn)
with open('book.csv', mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([book.book_type, book.book_id, book.book_name, book.author, book.publisher, book.publish_date, book.isbn])
book_type = BookType().read_book_type(book_type_id)
print("添加成功")
def del_book():
book_id = input("请输入要删除的图书编号:")
with open('book.csv', mode='r') as file:
reader = csv.reader(file)
rows = list(reader)
with open('book.csv', mode='w', newline='') as file:
writer = csv.writer(file)
for row in rows:
if row[1] != book_id:
writer.writerow(row)
print("删除成功")
def modify_book():
pass
def show_all_books():
with open('book.csv', mode='r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
book_type = BookType()
book_type.book_types = {
'1': '计算机科学',
'2': '文学艺术',
'3': '历史地理'
}
while True:
choice = print_book_menu()
if choice == '0':
break
elif choice == '1':
add_book()
elif choice == '2':
del_book()
elif choice == '3':
modify_book()
elif choice == '4':
show_all_books()
else:
print("输入错误,请重新输入!")
```
需要注意的是,以上代码仅为示例,可能还存在一些不足之处,您可以根据实际需求进行修改和完善。
阅读全文