动漫人物电子档案馆:使用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录