Эй, я новичок в python, но я пытаюсь создать простую систему регистрации.Я хотел бы иметь возможность обновления функции при добавлении члена, но я не могу понять, как.Как вы увидите из приведенного ниже кода, после того, как я закончу добавление члена в пункте меню 2, когда я вернусь и попробую пункт меню 1, только что добавленный элемент не отображается.Как заставить функцию show_members перезагружать обновленный словарь?
В дополнение к моему вышеупомянутому вопросу, любые советы о способах улучшения приведенного ниже кода приветствуются.И да, я знаю, что это очень неполно, но это WIP.
import sys
import shutil
import os
tmp = os.path.isfile("members.py.tmp")
if tmp == True:
os.remove("members.py.tmp")
shutil.copyfile("members.py", "members.py.tmp")
from members import members
def show_menu():
os.system("clear")
print "\n","*" * 12, "MENU", "*" * 12
print "1. List members"
print "2. Add member"
print "3. Delete member"
print "99. Save"
print "0. Abort"
print "*" * 28, "\n"
return input("Please make a selection: ")
def show_members(members):
for keys in members.keys():
os.system("clear")
print "\nNames", " ", "Code"
print keys, " - ", members[keys]
def add_member(members):
os.system("clear")
name = raw_input("Please enter name: ")
code = raw_input("Please enter code: ")
members[name] = code
return members
#with open("foo.txt", "a") as f:
# f.write("new line\n")
running = 1
while running:
selection = show_menu()
if selection == 1:
show_members(members)
print "\n> " ,raw_input("Press enter to continue")
elif selection == 2:
add_member(members)
print "\n> " ,raw_input("Press enter to continue")
elif selection == 99:
shutil.copyfile("members.py.tmp", "members.py")
elif selection == 0:
os.remove("members.py.tmp")
sys.exit("Program Aborted")
else:
os.system("clear")
print "That is not a valid option!"
print "\n> " ,raw_input("Press enter to continue")