2016-09-29 5 views
1

나는 pickle을 사용하여 이전 실행을 저장하는 Python 3으로 프로그램을 만들었습니다. 대신 .txt 파일을 사용해야합니다. 내가 이해하는 것처럼 그것은 open과 .write 명령으로 할 수있다. 하지만 어떻게 해야할지 잘 모르겠습니다. 이 프로그램은 피클과 잘 작동하지만 대신 텍스트 파일을 사용하는 법을 배워야합니다. 어떤 도움을 주시면 감사하겠습니다! 당신은 단지 예를 DICT를 직렬화하기 때문에Im Pickle을 사용하고 있지만 텍스트 파일을 사용해야합니다.

import pickle 
class TV(object): 
def __init__(self, name): 
    self.name = name 
    try: 
     self.load() 
    except: 
     self.Kanal = 1 
     self.Volym = 1 




def __str__(self): 
    printstring = str("\n".join(("%s:","Kanal: %s", "Volym: %s"))%(self.name, self.Kanal, self.Volym)) 
    return printstring 


def bytKanal(self,kanal): 
    self.Kanal = kanal 
    self.save() 
    return kanal 

def sank_volym(self): 
    if self.Volym!=0: 
     self.Volym -= 1 
    self.save() 
    return self.Volym 

def hoj_volym(self): 
    if self.Volym!=10: 
     self.Volym += 1 
    self.save() 
    return self.Volym 

def save(self): 
    file = open(self.name+".txt","wb") 
    file.write(pickle.dumps(self.__dict__)) 
    file.close() 

def load(self): 
    file = open(self.name+".txt","rb") 
    datapickle = file.read() 
    file.close() 

    self.__dict__=pickle.loads(datapickle) 

답변

2

내가 추천 할 것 JSON 또한 JSON에 대해 읽고 할 수 있습니다

def save(self): 
    with open(self.name+".txt","w") as file: 
     file.write(json.dumps(self.__dict__)) #json 


def load(self): 
    with open(self.name+".txt","r") as file: 
     json_data = file.read() 

    self.__dict__=json.loads(json_data) #json! 

: 이 각 실행 후 정보를 저장하는 기능 모듈이다 https://en.wikipedia.org/wiki/JSON

+0

감사합니다. Json은 트릭을했습니다 :) –

관련 문제