def __init__(self):
self.name=''
self.id=''
self.sal=0.0
self.allowance=0.4*self.sal
self.ded = 0.1*self.sal
self.npay = self.sal+self.allowance-self.ded
def Input(self):
self.name = raw_input('name')
self.id = raw_input('id')
self.sal = float(raw_input("salary"))
def create(self):
f = open("pay.dat","wb")
pickle.dump(self,f)
f.close()
def read_file(self):
f = open('pay.dat','rb')
x = pickle.load(f)
print"_"*45
print '{0:<15s}{1:15s}{2:15s}'.format("Employee_Id","Name","Basic salary")
print"_"*45
print '{0:<15s}{1:15s}{2:15f}'.format(x.id,x.name,x.sal)
f.close()
def add(self):
self.Input()
self.create()
self.read_file()
참고 - Pickle을 미리 가져 와서 클래스를 만들었습니다. 클래스의 객체를 만들면 모든 정보가 올바른 순서로 표시됩니다. 그러나 새 데이터를 추가하면 이전 데이터도 인쇄되지 않습니다. 어떻게해야합니까?파일의 이전 개체 정보를 얻는 방법
이 같은 예를 토막 피하십시오. 여기에있는 것처럼 실제 클래스 선언없이 클래스 ody에서 ook를 방해합니다. – jsbueno