动漫人物电子档案馆:使用Python构建个性化人物资料库
动漫人物电子档案馆:使用Python构建个性化人物资料库
本项目旨在使用Python语言实现一个简易的动漫人物电子档案馆,供学生收集和管理喜爱的动漫或游戏角色信息。该项目提供了以下功能:
- 人物信息的输入、显示、查找、删除、修改和保存:
- 使用txt文件保存每个动漫人物的信息,并保存在程序执行文件同目录下的'avatar'文件夹内,每个文件以人物名称命名,例如'柯南.txt'。
- 程序运行时会扫描'avatar'文件夹,并显示所有人物名称。
- 系统功能菜单:
- **在档查询:**统计系统内共有多少个动漫人物的存档文件。
- **人物信息:**输入人物名称,显示txt文件内的人物介绍(不少于50字)。
- **人物删除:**输入人物名称,删除对应的历史文档。
- **人物更名:**输入原人物名称,再输入新名称,完成文件名修改。
- 图形界面设计:
- 使用EGE进行图形界面编辑,提升用户体验。
代码示例:
import os
# 设置保存人物档案的文件夹路径
avatar_folder = 'avatar'
def scan_files():
# 扫描人物档案文件夹内的文件,并返回文件名列表
files = os.listdir(avatar_folder)
return [file.split('.')[0] for file in files]
def count_avatars():
# 统计系统内共有多少个动漫人物的存档文件
avatars = scan_files()
return len(avatars)
def display_avatars():
# 显示所有人物名称
avatars = scan_files()
for avatar in avatars:
print(avatar)
def display_avatar_info(name):
# 显示人物介绍
file_path = os.path.join(avatar_folder, name + '.txt')
if os.path.exists(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
info = file.read()
print(info)
else:
print('人物档案不存在')
def delete_avatar(name):
# 删除人物档案
file_path = os.path.join(avatar_folder, name + '.txt')
if os.path.exists(file_path):
os.remove(file_path)
print('人物档案已删除')
else:
print('人物档案不存在')
def rename_avatar(old_name, new_name):
# 修改人物档案的文件名
old_file_path = os.path.join(avatar_folder, old_name + '.txt')
new_file_path = os.path.join(avatar_folder, new_name + '.txt')
if os.path.exists(old_file_path):
os.rename(old_file_path, new_file_path)
print('人物档案已更名')
else:
print('人物档案不存在')
def save_avatar(name, info):
# 保存人物档案
file_path = os.path.join(avatar_folder, name + '.txt')
with open(file_path, 'w', encoding='utf-8') as file:
file.write(info)
print('人物档案已保存')
def main_menu():
while True:
print('========= 动漫人物电子档案馆 =========
')
print('1. 在档查询
2. 人物信息
3. 人物删除
4. 人物更名
0. 退出程序
')
choice = input('请输入对应的数字选择功能:
')
if choice == '1':
count = count_avatars()
print('系统内共有{}个动漫人物的存档文件'.format(count))
elif choice == '2':
name = input('请输入人物名称:
')
display_avatar_info(name)
elif choice == '3':
name = input('请输入人物名称:
')
delete_avatar(name)
elif choice == '4':
old_name = input('请输入原人物名称:
')
new_name = input('请输入新人物名称:
')
rename_avatar(old_name, new_name)
elif choice == '0':
break
else:
print('无效的选择')
if __name__ == '__main__':
main_menu()
该示例代码提供了基本的命令行界面功能。你可以根据需要使用EGE进行图形界面的设计和实现。
拓展方向
- 完善图形界面设计,提供更直观的交互体验。
- 增加图片、视频等多媒体内容的存储和展示功能。
- 添加人物属性分类、搜索功能,方便用户查找目标人物。
- 整合社交功能,方便用户与其他用户分享收藏的动漫人物信息。
该项目将帮助学生学习Python编程基础、文件操作、图形界面设计等知识,并锻炼他们独立思考和解决问题的能力。
原文地址: https://www.cveoy.top/t/topic/pqJW 著作权归作者所有。请勿转载和采集!