python - 根据 txt 文件加载复选框值
问题描述
我正在尝试从文本文件中加载复选框值。
让我解释..
这是屏幕:
我有一段代码将结果保存到 .txt 文件中。
这是 .txt 文件:
现在,当我关闭并重新打开 .py 文件时,一切都会重置。
我想实现一个按钮,该按钮将从 txt 文件加载最后一行并执行以下操作:
如果option1
是0
并且option2
是1
来自文本文件,当单击加载时,option2
复选框将是唯一选中的一个。
像这样:
如何做到这一点?
这是我当前的代码:
from tkinter import *
master = Tk()
master.minsize(200, 100)
var = IntVar()
var2 = IntVar()
a = Checkbutton(master, text="Option 1", variable=var)
a.pack()
b = Checkbutton(master, text="Option 2", variable=var2)
b.pack()
def save():
text_file = open("text.txt", "a")
text_file.write("Option1 %d Option2 %d \n" % (var.get(), var2.get()))
text_file.close()
Button(master, text = "Save", command = save ).pack()
mainloop()
解决方案
这是按照您的要求进行操作的一种方法。
from tkinter import *
import os
if os.path.isfile('text.txt'):
with open("text.txt", "r") as f:
lineList = f.readlines()
_, option1, _, option2 = lineList[-1].split()
else:
option1 = '0'
option2 = '0'
master = Tk()
master.minsize(200, 100)
var = IntVar()
var2 = IntVar()
a = Checkbutton(master, text="Option 1", variable=var)
if option1 == '1':
a.select()
a.pack()
b = Checkbutton(master, text="Option 2", variable=var2)
if option2 == '1':
b.select()
b.pack()
def save():
text_file = open("text.txt", "a")
text_file.write("Option1 %d Option2 %d \n" % (var.get(), var2.get()))
text_file.close()
Button(master, text = "Save", command = save ).pack()
mainloop()
但是有理由继续附加到文本文件吗?如果没有,那么在每次保存时覆盖文件会更快更有效。
推荐阅读
- python - SQLAlchemy 通过混合属性按外部列排序
- swiftui - SwiftUI Combine 为什么 init 不能绑定数据?
- python - 在 Visual Studio Code 上运行新的 Jupyter 笔记本时出现“ENOTDIR 无效 cwd”
- c++ - QT如何按原样显示少数民族语言字符串
- javascript - 状态对 Vuex 没有反应
- powershell - 使用 PoweShell PnP 更新 SharePoint Online 列表中的查阅列
- sorting - Drracket:创建一个函数,该函数将使用冒泡排序在给定比较器的情况下返回排序列表
- sql - 视图中数据的滚动编号
- javascript - 不可能在现有的元素上添加事件侦听器
- python - 如何使用 `get_loc` 在 MultiIndex 中查找多个列的索引