Не могу разобраться, почему если метод вызвать из другого, то он не работает, а если из экземпляра, то все прекрасно:
class FoobarDB(object): def __init__(self , location): self.location = location try: self.f = open(location,'r') except: self.f = open(location,'w') self.file.close() def set_db(self,key,value): with open(self.location,'r+') as self.file: self.data = self.file.read() if (self.data != ''): self.jsonData = json.loads(self.data) self.jsonData.update({key:value}) self.jsonData = json.dumps(self.jsonData) self.file.write(self.jsonData) self.file.flush() else: self.jsonData = {key:value} self.jsonData = json.dumps(self.jsonData) self.file.write(self.jsonData) self.file.flush()
Все равно если вызвать из экземпляра т.е. myDB.set_db() - то работает, а если откуда-нибудь из другого метода этого же класса self.set.db, то не работает.