이제는 파일을 올바르게로드 할 수 없다는 문제가 있습니다 ...로드 할 때 항상 값 하나만 유지하면됩니다. 모든 값.적절하게이 파일을 적절하게로드 하시겠습니까? (파이썬 2.7)
lista = {'Cop': '911', 'Police chief': '911'
, 'firemen' : '912', 'fire chef' : '912'
,}
저장 기능은 나는 그것의 작동 벌금 단지 '보통' '사전을 채우기 위해 가정'과이되어 아래의 부하 기능처럼
def save(lista):
spara = lista
from collections import defaultdict
d = defaultdict(list)
fil = open("test" + ".txt","w")
for a, b in lista.items():
d[b].append(a)
for a, b in d.items():
fil.write(a+';'+';'.join(b)+"\n")
fil.close()
(내 질문의 코드를 가지고) 생각하는 모든 키 및 값을 파일에 저장하기 전에 그대로 유지하십시오. 경찰; 경찰청장은이
911처럼 보이는 파일에서
def load(lista):
ladda = open("test" + ".txt","r")
for namesandnumbers in ladda:
(key,val) = namesandnumbers.split(";")
lista[(val)] = key[:len(key)]
lista = ladda
return lista
while True:
choice = input(" 1 add to list 2 to save 3 to load ")
if choice == 1:
word = raw_input("Type the key: ")
word2 = raw_input("Type the value: ")
lista[word] = word2
print lista
continue
if choice == 2:
save(lista)
elif choice == 3:
load(lista)
elif choice == 4:
False
;
912, 소방관, 화재 요리사;
로드 할 때 문제가되는 부분입니다.
대신에 피클을 사용하십시오. https://docs.python.org/2/library/pickle.html – FredMan
@FredMan picke는 사용할 수 없습니다. 그것이 있었다면 그것을했을 것입니다. – noname292123
우리에게 저장된 파일의 내용을 고양이에게 보여 주거나 보여 주며, 당신이 얻는 오류가 무엇인지,로드 기능을 통해 얻고있는 결과를 설명하십시오. – FredMan