实操指南:搭建不依赖服务器的档案软件单机版

一、前置准备

本次方案采用Python+内置SQLite实现,全程单机运行,无需配置服务器,零额外依赖。

1. 安装Python3.11(确保兼容性)

  • Windows:下载安装包并勾选Add Python to PATH,下载地址:https://www.python.org/ftp/python/3.11.4/python-3.11.4-amd64.exe
  • MacOS:执行命令brew install python3(需提前安装Homebrew)
  • Linux:执行命令sudo apt update && sudo apt install python3

2. 验证安装

打开命令行(Windows用cmd/Mac用终端/Linux用终端),输入以下命令,输出版本号则安装成功:

实操指南:搭建不依赖服务器的档案软件单机版

python --version 或 python3 --version

二、编写单机档案软件核心代码

新建文件夹(如命名为「本地档案管理」),在文件夹内新建文本文档,粘贴以下完整代码,将文档重命名为archive.py(注意:后缀必须改为py,不要保留txt)。

import tkinter as tk from tkinter import ttk, messagebox import sqlite3 def init_db(): conn = sqlite3.connect('archive.db') cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS archives ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, category TEXT NOT NULL, content TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ''') conn.commit() conn.close() def add_archive(): name = entry_name.get().strip() category = combo_category.get().strip() content = text_content.get("1.0", tk.END).strip() if not name or not category: messagebox.showwarning("提示", "档案名称和分类不能为空") return conn = sqlite3.connect('archive.db') cursor = conn.cursor() cursor.execute('INSERT INTO archives (name, category, content) VALUES (?, ?, ?)', (name, category, content)) conn.commit() conn.close() messagebox.showinfo("成功", "档案添加完成") clear_inputs() load_archives() def load_archives(): for item in tree.get_children(): tree.delete(item) conn = sqlite3.connect('archive.db') cursor = conn.cursor() cursor.execute('SELECT id, name, category, create_time FROM archives ORDER BY create_time DESC') for row in cursor.fetchall(): tree.insert('', tk.END, values=row) conn.close() def clear_inputs(): entry_name.delete(0, tk.END) combo_category.set('') text_content.delete("1.0", tk.END) root = tk.Tk() root.title("单机档案管理工具") root.geometry("600x500") frame_input = tk.Frame(root) frame_input.pack(pady=10, padx=10, fill=tk.X) tk.Label(frame_input, text="档案名称:").grid(row=0, column=0, sticky=tk.W, padx=5) entry_name = tk.Entry(frame_input, width=30) entry_name.grid(row=0, column=1, padx=5) tk.Label(frame_input, text="分类:").grid(row=0, column=2, sticky=tk.W, padx=5) combo_category = ttk.Combobox(frame_input, values=["工作", "个人", "其他"], state="readonly", width=15) combo_category.grid(row=0, column=3, padx=5) tk.Label(frame_input, text="内容:").grid(row=1, column=0, sticky=tk.NW, padx=5, pady=5) text_content = tk.Text(frame_input, height=5, width=50) text_content.grid(row=1, column=1, columnspan=3, pady=5) frame_btn = tk.Frame(root) frame_btn.pack(pady=5) tk.Button(frame_btn, text="添加档案", command=add_archive, width=10).pack(side=tk.LEFT, padx=5) tk.Button(frame_btn, text="刷新列表", command=load_archives, width=10).pack(side=tk.LEFT, padx=5) tk.Button(frame_btn, text="清空输入", command=clear_inputs, width=10).pack(side=tk.LEFT, padx=5) tree = ttk.Treeview(root, columns=("id", "name", "category", "time"), show="headings") tree.heading("id", text="ID") tree.heading("name", text="档案名称") tree.heading("category", text="分类") tree.heading("time", text="创建时间") tree.column("id", width=50) tree.column("name", width=150) tree.column("category", width=100) tree.column("time", width=200) tree.pack(pady=10, padx=10, fill=tk.BOTH, expand=True) init_db() load_archives() root.mainloop()

三、运行软件并实操

1. 启动软件

  • Windows:找到archive.py双击文件直接运行
  • Mac/Linux:进入文件夹后执行命令:python3 archive.py

2. 核心操作步骤

  1. 填写档案名称:输入归档内容标题(如「2024项目复盘」)
  2. 选择分类:从下拉列表选对应分类,或直接输入自定义分类
  3. 填写内容:在文本框输入详细内容,支持多行换行
  4. 添加档案:点击「添加档案」,内容自动存入本地archive.db文件(全程无需服务器)
  5. 查看档案:软件自动加载所有档案,列表显示ID、名称、分类、创建时间,双击列表项可查看详情
  6. 刷新列表:点击「刷新列表」更新新增/修改的档案

四、常见问题排查

1. 双击archive.py无反应

  • 检查是否安装Python3,且Windows安装时已勾选Add Python to PATH
  • 打开命令行执行python archive.py,查看具体错误信息

2. 找不到归档的档案

  • archive.db文件与archive.py在同一文件夹,搜索该文件名即可定位

3. 分类下拉列表显示不全

  • 直接在分类输入框中输入自定义分类,无需从下拉选择
AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统