Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import yaml
- class Config:
- @classmethod
- def register(cls, key):
- return property(
- lambda self: self.yaml[key],
- lambda self, value: self.save(key, value),
- )
- def __init__(self, path):
- self.path = path
- with open(self.path) as file:
- self.yaml = yaml.load(file)
- def save(self, key, value):
- if key in self.yaml and self.yaml[key] == value:
- return
- self.yaml[key] = value
- with open(self.path, 'w') as file:
- file.write(yaml.dump(self.yaml, default_flow_style=False))
- Config.val1 = Config.register('val1')
- Config.val2 = Config.register('val2')
- Config.val3 = Config.register('val3')
- config = Config('config.yaml')
- print('val1')
- print('before:', config.val1)
- config.val1 = random.random()
- print('after:', config.val1)
- print('--------------------')
- print('val2')
- print('before:', config.val2)
- config.val2 = random.random()
- print('after:', config.val2)
- print('--------------------')
- print('val3')
- print('before:', config.val3)
- config.val3 = random.random()
- print('after:', config.val3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement