2013-09-01 2 views
-1
def load(): 
    with open("random_number_highscores.txt","r") as x: 
     print ("HIGHSCORES") 
     print ("Least guesses made.") 
     print (json.load(x)) 
     time.sleep(1) 

def save(a): 
    with open("random_number_highscores.txt", "a") as x: 
     json.dump(a, x) 
    print ("saved.") 
    time.sleep(1) 

왜 def로드가 작동하지 않습니다. 필자 (STR의 (a), 배)하지만, 작업 중 하나를 당신이 가 저장 파일에를 추가하는로드시 파일 IO 오류

+0

나중에 참조 할 수 있도록 실제 오류가 있습니다. 나는이 경우 교양있는 추측을했지만 추적 메시지를 포함한 오류 메시지는 문제를 진단하는 데 매우 중요합니다. –

+0

왜 투표가 늦습니까? – StandingBird

답변

1

오류 얻을 나던 json.dump로 저장 시도하고 대신 덮어 쓰기해야합니다

def save(a): 
    with open("random_number_highscores.txt", "w") as x: 
     json.dump(a, x) 

코드가 없으면 json.load() 코드가 여러 개의 JSON 값을 발견하고 파일에서 둘 이상을 처리 할 수 ​​없습니다.

+0

파일을 덮어 쓰지 않고 그냥 추가 한 다음에보기를 위해 엽니 다 – StandingBird

+0

@StandingBird : 줄 바꿈을 추가 할 때와 파일을 다시 열 때마다 그것을 처리하기 위해 줄 단위로 읽을 때만 할 수 있습니다. 각 행을 읽는 솔루션은 [Python으로 JSON 파일로드 및 구문 분석하기] (http://stackoverflow.com/a/12451465)를 참조하십시오. –