Pickle不会在下一行中保存列表中的项目

时间:2018-08-31 04:34:59

标签: python tkinter combobox pickle

我的程序在开始时加载List,并在win.mainloop()之后将其保存到末尾,但是我希望逐行保存字符串。 那是因为当我启动程序时,Combobox仅在一行中显示项目。但是,在我输入内容后,它会逐行显示每个项目的开始位置。我该如何工作?

我的代码:

import tkinter as tk
from tkinter import ttk
import pickle

#window wird erstellt
win = tk.Tk()
win.title("menu")

List = []

with open('data.txt', 'rb') as f:       #Liste wird von txt geladen
    List[-8:]= pickle.load(f)

#Funktion für Knopf
def clickMe():
    List.append(name.get())
    numberChosen.configure(values=List[-8:])        #values nimmt 8 Werte von List ein

#Eingabefeld wird erstellt
ttk.Label(win, text="Eingabe:").grid(column=0, row=0)
name = tk.StringVar()
nameEntered = ttk.Entry(win, width=12, textvariable=name)
nameEntered.grid(column=0, row=1)   

# button
action = ttk.Button(win, text="Enter", command=clickMe)
action.grid(column=2, row=1)

# drop down menu
ttk.Label(win, text="Auswahl:").grid(column=1, row=0)
number = tk.StringVar()
numberChosen = ttk.Combobox(win, width=12, textvariable=name)
numberChosen['values'] = [List[-8:]]
numberChosen.grid(column=1, row=1)

win.mainloop()

with open('data.txt', 'wb') as f:       #Liste wird nach beenden von Schleife in txt gespeichert
    pickle.dump(List, f) 

0 个答案:

没有答案