当前位置: 首页 > 新闻资讯 > 资产管理系统

用Python实现一个简单的固定资产管理系统试用版

本文介绍如何使用Python快速搭建一个简单的固定资产管理系统试用版本,并提供完整代码。

大家好,今天我要和大家聊聊怎么用Python写一个“固定资产管理系统”的试用版。可能你对这个系统不太熟悉,或者只是想试试看,那这篇文章就适合你了。

首先,什么是“固定资产管理系统”呢?简单来说,它就是用来管理公司里那些贵重物品的系统,比如电脑、打印机、办公桌椅等等。这些资产一旦被记录下来,就能方便地追踪它们的使用情况、归属人、存放位置,甚至还能知道什么时候该维护或报废。

但今天我们不谈太复杂的系统,而是做一个“试用版”,也就是一个可以先体验一下功能的简化版。这样你不用花太多时间去部署整个系统,就能看看它到底能不能满足你的需求。

那么,我们怎么做呢?我们可以用Python来写一个命令行版本的管理系统,不需要图形界面,也不需要数据库,只需要一个简单的文本文件来保存数据。虽然这只是一个“试用”版本,但它已经能完成一些基本的功能了。

接下来我就会一步步教你怎么写这个程序。别担心,代码不会太复杂,而且我会详细解释每一步的作用。

第一步:设计数据结构

在开始写代码之前,我们需要先想清楚要存储哪些信息。对于固定资产来说,常见的信息包括:

资产编号(唯一标识)

名称

类型(比如电脑、打印机等)

购买日期

当前状态(在用、闲置、维修中等)

负责人(谁在用)

存放位置

所以我们可以用一个字典来表示每一项资产,然后把所有资产放在一个列表里。比如:

固定资产管理系统


assets = [
    {
        'id': '001',
        'name': '联想笔记本',
        'type': '电脑',
        'purchase_date': '2023-05-10',
        'status': '在用',
        'owner': '张三',
        'location': 'A区办公室'
    },
    # 更多资产...
]
    

这样我们就有了一个数据结构,可以用来存储我们的资产信息。

第二步:读取和保存数据

现在我们有了数据结构,下一步就是怎么把这些数据保存到文件里,这样下次运行程序的时候还能读出来。

我们可以用Python内置的json模块来处理这个问题。json是一种轻量级的数据交换格式,非常适合用来保存这种结构化的数据。

首先,我们定义一个函数来加载数据:


import json

def load_assets():
    try:
        with open('assets.json', 'r') as f:
            return json.load(f)
    except FileNotFoundError:
        return []
    except Exception as e:
        print(f"加载数据时出错: {e}")
        return []
    

然后,我们再写一个函数来保存数据:


def save_assets(assets):
    try:
        with open('assets.json', 'w') as f:
            json.dump(assets, f, indent=4)
    except Exception as e:
        print(f"保存数据时出错: {e}")
    

这两个函数就完成了数据的读取和保存工作。

第三步:实现基本功能

现在我们已经有了数据结构和读写功能,接下来就是实现几个基本的操作,比如添加资产、查看资产、修改资产、删除资产。

我们先从添加资产开始。用户输入资产的信息,然后添加到列表中,并保存到文件里。


def add_asset(assets):
    id = input("请输入资产编号:")
    name = input("请输入资产名称:")
    type = input("请输入资产类型:")
    purchase_date = input("请输入购买日期(YYYY-MM-DD):")
    status = input("请输入当前状态:")
    owner = input("请输入负责人:")
    location = input("请输入存放位置:")

    asset = {
        'id': id,
        'name': name,
        'type': type,
        'purchase_date': purchase_date,
        'status': status,
        'owner': owner,
        'location': location
    }

    assets.append(asset)
    save_assets(assets)
    print("资产已成功添加!")
    

然后是查看资产的功能。我们可以列出所有资产的信息,或者根据编号查找某个特定资产。


def view_assets(assets):
    if not assets:
        print("没有找到任何资产。")
        return

    for asset in assets:
        print(f"编号:{asset['id']}")
        print(f"名称:{asset['name']}")
        print(f"类型:{asset['type']}")
        print(f"购买日期:{asset['purchase_date']}")
        print(f"状态:{asset['status']}")
        print(f"负责人:{asset['owner']}")
        print(f"位置:{asset['location']}")
        print("-" * 30)

    def search_asset(assets):
        id = input("请输入要查找的资产编号:")
        for asset in assets:
            if asset['id'] == id:
                print(f"编号:{asset['id']}")
                print(f"名称:{asset['name']}")
                print(f"类型:{asset['type']}")
                print(f"购买日期:{asset['purchase_date']}")
                print(f"状态:{asset['status']}")
                print(f"负责人:{asset['owner']}")
                print(f"位置:{asset['location']}")
                return
        print("未找到对应的资产。")
    

接下来是修改资产信息的功能。用户可以选择某个资产,然后修改它的某些字段。


def edit_asset(assets):
    id = input("请输入要修改的资产编号:")
    for asset in assets:
        if asset['id'] == id:
            print("当前资产信息:")
            print(f"编号:{asset['id']}")
            print(f"名称:{asset['name']}")
            print(f"类型:{asset['type']}")
            print(f"购买日期:{asset['purchase_date']}")
            print(f"状态:{asset['status']}")
            print(f"负责人:{asset['owner']}")
            print(f"位置:{asset['location']}")

            new_name = input("请输入新名称(留空则不修改):")
            new_type = input("请输入新类型(留空则不修改):")
            new_purchase_date = input("请输入新购买日期(留空则不修改):")
            new_status = input("请输入新状态(留空则不修改):")
            new_owner = input("请输入新负责人(留空则不修改):")
            new_location = input("请输入新位置(留空则不修改):")

            if new_name:
                asset['name'] = new_name
            if new_type:
                asset['type'] = new_type
            if new_purchase_date:
                asset['purchase_date'] = new_purchase_date
            if new_status:
                asset['status'] = new_status
            if new_owner:
                asset['owner'] = new_owner
            if new_location:
                asset['location'] = new_location

            save_assets(assets)
            print("资产信息已更新!")
            return
    print("未找到对应的资产。")
    

最后是删除资产的功能。用户输入资产编号,如果存在,就从列表中删除并保存。


def delete_asset(assets):
    id = input("请输入要删除的资产编号:")
    for i, asset in enumerate(assets):
        if asset['id'] == id:
            del assets[i]
            save_assets(assets)
            print("资产已成功删除!")
            return
    print("未找到对应的资产。")
    

第四步:主菜单和循环

现在我们有了一系列的功能函数,接下来就是把这些功能整合到一个主菜单中,让用户可以通过输入数字选择不同的操作。


def main():
    assets = load_assets()

    while True:
        print("\n=== 固定资产管理系统 ===")
        print("1. 添加资产")
        print("2. 查看所有资产")
        print("3. 查找资产")
        print("4. 修改资产")
        print("5. 删除资产")
        print("6. 退出")

        choice = input("请选择操作(1-6):")

        if choice == '1':
            add_asset(assets)
        elif choice == '2':
            view_assets(assets)
        elif choice == '3':
            search_asset(assets)
        elif choice == '4':
            edit_asset(assets)
        elif choice == '5':
            delete_asset(assets)
        elif choice == '6':
            print("感谢使用本系统!")
            break
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()
    

这就是一个完整的“固定资产管理系统”试用版的代码了。虽然它很简单,但已经具备了基本的增删改查功能。

小结

通过这篇文章,我们学习了一个非常基础的“固定资产管理系统”的实现方式。它用Python写成,不需要复杂的框架或数据库,非常适合用来做试用或者学习用途。

如果你是刚开始接触编程,或者对资产管理系统感兴趣,不妨自己动手尝试一下。你会发现,其实编写一个简单的系统并不难,关键是要理解数据结构和逻辑流程。

当然,这只是个起点。如果你想让这个系统更强大,可以考虑加入以下功能:

使用数据库(如SQLite)来持久化数据

添加图形界面(比如用Tkinter或PyQt)

支持导出为Excel或CSV文件

增加权限管理,区分管理员和普通用户

总之,这个“试用版”只是一个开始,你可以根据自己的需求不断扩展和完善它。

希望这篇文章对你有所帮助,也欢迎你在评论区分享你的想法或问题。咱们下期再见!

固定资产管理系统

本站部分内容及素材来源于互联网,如有侵权,联系必删!

相关资讯

    暂无相关的数据...