在 python tkinter 中使用 .dat 存档

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

所以我想编写一个代码来获取一个值并将其转换为图表,下面的代码正在运行并显示 .dat 文件的内容,但这不是我老师想要的 lmao

from tkinter import Tk, Label
def read_archive():
    try:
        archive = open("name_of_the_archive.dat", "r")
        value = archive.read()
        archive.close()
        return value
    except FileNotFoundError:
        return "File not found"

window = Tk()
window.title("Value")

label_value = Label(window, text=read_archive(), font=("Arial", 18))
label_value.pack(pady=20)

window.mainloop()

有人可以给我一些关于如何制作图表的信息,比如 -pi 到 pi 范围或类似的东西...感谢并抱歉我的菜鸟编程和糟糕的英语:)

python tkinter plot graph archive
1个回答
0
投票

假设您的 .dat 文件如下所示:

[(-1,-2),(0,0),(1,2),(2,0),(3,3)]

这是一个列表,保存了图表上所有点的坐标。 我建议使用 matplotlib 而不是 tkinter,因为用户可以轻松地在 matplotlib 上绘制图形。 (也许您的老师要求您仅使用 tkinter 完成所有这些操作。)

完整代码:

import matplotlib.pyplot as plt
import pickle # Use pickle to process .dat files

data = [(-1,-2),(0,0),(1,2),(2,0),(3,3)]
archive = open('data.dat', 'wb') # 'wb' means binary write
pickle.dump(data, archive)
archive.close()

def read_archive():
    try:
        load_file = open('data.dat', 'rb') # 'rb' means binary read
        data = pickle.load(load_file)
        load_file.close()
        return data
    except FileNotFoundError:
        return "File not found"

values = read_archive()
x = []
y = []
for coordinate in values:
    x.append(coordinate[0])
    y.append(coordinate[1])

plt.figure(num="Gragh")
plt.plot(x,y)
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.