You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python EasyGUI会议室预订程序:如何展示选中数据并保存至TXT?

问题1:弹窗无法展示所有选中数据

你需要在用户选择会议室、日期的环节,把用户实际选中的单个值存入变量,而不是只保留原始的选项列表:

  • 选会议室时,将选中项赋值给selected_room
  • 选日期时,赋值给selected_day
  • 选时间后,弹窗内容拼接这三个变量即可(以Tkinter为例):
    from tkinter import messagebox
    messagebox.showinfo("选中信息", f"会议室:{selected_room}\n日期:{selected_day}\n时间:{selected_time}")
    

核心逻辑:每个选择步骤都要单独记录用户的选中项,而非拿着完整选项列表去展示。


问题2:保存TXT存了所有列表内容 + 字典存储预订信息

先解决TXT保存问题

你当前用的rooms1、days1是完整的选项列表,所以会把所有内容写入文件。要替换成用户选中的单个值,同时改用追加模式避免覆盖旧记录:

with open("1.txt", "a") as f:  # "a"是追加模式,"w"会清空文件重写
    f.write(f"Vergaderruimte: {selected_room}\n")
    f.write(f"Dag: {selected_day}\n")
    f.write(f"Tijd: {selected_time}\n\n")

用字典管理预订信息的具体操作

把预订字典改成支持多条记录的结构(原示例只能存一条,不符合实际需求),每次新增预订时自动递增res_id:

# 初始化全局预订字典
reserved_rooms = {
    'res_id': 0,
    'reservations': []  # 用列表存多条预订记录
}

# 点击确认按钮时执行的函数
def confirm_reservation():
    global reserved_rooms
    # 替换成你实际获取选中值的代码
    selected_room = "会议室3"
    selected_day = "1"
    selected_time = "09:00 - 10:00"
    
    # 生成新的预订条目
    new_res = {
        'room': selected_room,
        'time': selected_time,
        'day': selected_day
    }
    
    # 递增预订ID并添加新记录
    reserved_rooms['res_id'] += 1
    reserved_rooms['reservations'].append(new_res)
    
    # 同步保存到TXT(也可以用JSON格式存储,更易读取)
    with open("1.txt", "a") as f:
        f.write(f"预订ID: {reserved_rooms['res_id']}\n")
        f.write(f"Vergaderruimte: {selected_room}\n")
        f.write(f"Dag: {selected_day}\n")
        f.write(f"Tijd: {selected_time}\n\n")

如果想更规范地存储/读取预订数据,推荐用JSON格式:

import json

# 保存字典到JSON文件
with open("reservations.json", "w") as f:
    json.dump(reserved_rooms, f, indent=4)

# 从JSON文件读取预订记录
with open("reservations.json", "r") as f:
    reserved_rooms = json.load(f)

内容的提问来源于stack exchange,提问作者Pita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:50:39