大家好,今天我要和大家聊聊怎么用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文件
增加权限管理,区分管理员和普通用户
总之,这个“试用版”只是一个开始,你可以根据自己的需求不断扩展和完善它。
希望这篇文章对你有所帮助,也欢迎你在评论区分享你的想法或问题。咱们下期再见!

