如何导入元素并从 txt 文件中删除字符以及提取某些元素以在 tkinter 中使用

问题描述 投票:0回答:1

所以,我正在完善我的程序,我从服务器程序上的 OHM 获取温度和负载传感器数据,将其放入 dict() 结构中,然后我将其发送到我的客户端程序,一旦收到客户端程序就将其导出到 txt 文件。

输入看起来有点像这样:

"{\"Temperature\": 42.125, \"Load\": 0.29146671295166016, \"Time\": \"19:13:52\", \"Name\": \"CPU Total\"}"

现在我需要从这个列表中删除 {} 和反斜杠以及 " 字符,因为它被读入我的客户端程序,这样它看起来有点像这样:

Temperature: 42.125 Load: 0.29146671295166016 Time: 19:13:52 Name: CPU Total

我尝试过 lambda 等,但就是无法理解它。

我已经查遍了堆栈溢出,但无法理解 lambda 及其实际用途,看到了一些使用它的建议,但我无法解决它。

python list tkinter openhardwaremonitor
1个回答
0
投票

如果您的文本文件的内容如下所示(似乎是 JSON):

"{\"Temperature\": 42.125, \"Load\": 0.29146671295166016, \"Time\": \"19:13:52\", \"Name\": \"CPU Total\"}"

然后您可以简单地打开文件,然后使用

json.loads()
将其内容转换为字典,如下所示:

import json


def load_data(filename: str):
    with open(filename, 'r') as f:
        return json.loads(f.read())


# the file name is assumed to be 'data.txt'; feel free to change it as needed
print(load_data('data.txt'))
# => {"Temperature": 42.125, "Load": 0.29146671295166016, "Time": "19:13:52", "Name": "CPU Total"}

由于此处定义的

load_data
函数返回字典,因此您可以像这样访问项目:

data = load_data('data.txt')
print(data['Temperature'])
# => 42.125
© www.soinside.com 2019 - 2024. All rights reserved.