2014-06-15 2 views
0

뱀 게임에 점수를 저장하는 .txt 파일을 만들고 있습니다. 문제는 파일에 다시 쓰는 것입니다. 현재의 내 생각은 다음과 같이 다소 간다 : 이미 점수를 읽은파이썬에서 파일에 쓰기

for line in open("scoreboard.txt", "r+"): 
    line = scorelist[y] + namelist[y] 

를리스트로 만들어, 새로운 점수를 통합,하지만 난 모두를 통해 방법을 동시에주기를 알아낼 수 없습니다 한 줄과 목록을 처리하기 위해 데이터를 저장하고 오래된 점수를 덮어 씁니다.

+1

당신은 그렇게하고 싶지 않아. 먼저 파일을 읽고 변경 한 다음 새 파일을 작성하는 것이 좋습니다. 새 파일은 이전 파일과 동일한 이름이 될 수 있습니다. 또는 임시 파일에 쓰고 그 임시 파일의 이름을 'scoreboard.txt'로 바꿀 수 있습니다. –

답변

1

당신은 파일에 간단한 개체를 저장 JSON 인코딩을 사용할 수 있습니다

import json 

myscore = [1,2,5] 
mynames = ["foo","bar","baz"] 

#save 
with open("scores.json","w") as f: 
    json.dump({'score' : myscore, 'names': mynames},f) 

#load 
with open("scores.json","r") as f: 
    content = json.load(f) 
    loadedScore = content['score'] 
    loadedNames = content['names'] 
관련 문제