안녕하세요, 저는 Python에 새로 왔지만 간단한 등록 시스템을 만들려고 노력하고 있습니다. 멤버를 추가 할 때 함수 업데이트를 할 수 있기를 원하지만 어떻게 설명 할 수 없습니까? 아래 코드에서 볼 수 있듯이 메뉴 옵션 2에 멤버를 추가하고 나면 다시 돌아가서 메뉴 옵션 1을 시도하면 방금 추가 한 멤버가 표시되지 않습니다. show_members 함수가 업데이트 된 사전을 다시로드하게하려면 어떻게해야합니까?Python에서 함수를 다시로드 하시겠습니까?
위의 질문에 추가하여 아래 코드를 개선 할 수있는 방법에 대한 조언을 환영합니다. 그리고 예, 저는 그것이 매우 불완전하다는 것을 알고 있습니다 만, 그것은 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")
아하! 이것은 매우 완벽하게 감사합니다. 당신은 또한 파일에 사전 (회원)을 저장하는 방법을 언급하는 마음을 wouldnt하면? – wKavey