Я не могу обновить значение ключа в словаре после нажатия кнопки save
, но я не знаю, что не так с моим кодом?
Это для моего маленького проекта, я хочу попробовать написать код для создания приложения (для личного использования), используя Tkinter
, чтобы установить и получить данные из записей и сохранить их в CSV-файл. Но я застрял на обновлении моего словаря. Я пытался сделать мой dict глобальной переменной, но он все еще продолжал удалять старое значение ключа из предыдущего клика. В какой-то момент во время проб и ошибок произошла ошибка о том, что моя переменная dict не определена.
def Save(self):
self.new_first_name = self.first_name.get()
self.new_last_name = self.last_name.get()
self.new_id = self.id.get()
self.new_age = self.age.get()
self.dirname = "J:/Webcam"
self.new_dict = {}
def create_dict():
global old_dict
if 'old_dict' not in globals():
global old_dict
old_dict = {"ID": None, "First_Name" : None, "Last_Name": None, "Age": None}
else:
pass
return old_dict
create_dict()
self.new_dict['ID'] = self.new_id
self.new_dict['First_Name'] = self.new_first_name
self.new_dict['Last_Name'] = self.new_last_name
self.new_dict['Age'] = self.new_age
old_dict.update(self.new_dict)
# os.chdir(self.dirname)
# w = csv.writer(open("output.csv", "w"))
# for key, val in old_dict.items():
# w.writerow([key, val])
return old_dict
Это результат после того, как я дважды нажал кнопку «Сохранить».
{'ID': 'AA', 'First_Name': 'AA', 'Last_Name': 'AA', 'Age': 'AA'}
{'ID': 'BB', 'First_Name': 'BB', 'Last_Name': 'BB', 'Age': 'BB'}
То, что я хочу, это так:
{'ID': ['AA','BB'], 'First_Name': ['AA','BB'], 'Last_Name': ['AA','BB'], 'Age': ['AA','BB']}