重新编写一个通过文件实现用户还书功能的函数
时间: 2024-03-18 11:40:22 浏览: 18
好的,以下是一个重新编写的 Python 函数,它通过文件实现用户还书功能:
```python
def return_book(user_id, book_id, return_date):
"""
通过文件实现用户还书功能的函数,将指定用户借阅的指定书籍的借阅状态修改为“未借出”,并记录归还时间
:param user_id: str,用户编号
:param book_id: str,书籍编号
:param return_date: str,归还时间,格式为“YYYY-MM-DD”
"""
# 打开存储借阅信息的文件
with open('borrow_records.txt', 'r') as f:
records = f.readlines()
# 标记是否找到指定用户借阅的指定书籍的借阅记录
found = False
# 修改指定用户借阅的指定书籍的借阅记录
for i, record in enumerate(records):
# 解析记录中的字段
fields = record.strip().split(',')
if fields[0] == book_id and fields[1] == user_id:
# 找到指定用户借阅的指定书籍的借阅记录,修改状态和归还时间
fields[-2] = '未借出'
fields[-1] = return_date
records[i] = ','.join(fields) + '\n'
found = True
break
# 如果找不到指定用户借阅的指定书籍的借阅记录,输出错误信息
if not found:
print(f"Error: borrow record of book {book_id} by user {user_id} not found.")
return
# 将修改后的记录写回文件
with open('borrow_records.txt', 'w') as f:
f.writelines(records)
```
该函数假设借阅信息存储在名为 `borrow_records.txt` 的文本文件中,每行记录包含书籍编号、借阅人编号、借阅时间和借阅状态等信息,用逗号分隔。函数通过读取文件内容,解析每行记录的字段,查找指定用户借阅的指定书籍的借阅记录,并将该记录的借阅状态修改为“未借出”,归还时间修改为指定时间,并将修改后的记录写回文件。如果找不到指定用户借阅的指定书籍的借阅记录,函数会输出错误信息。