def load_or_create_config(self, filename, config=None):
        """Loads a config from disk.  Defaults to a random config if none is specified"""
        os.makedirs(os.path.dirname(os.path.expanduser(filename)), exist_ok=True)
        if os.path.exists(filename):
            return self.load(filename)

        if(config == None):
            config = self.random_config()

        self.save(filename, config)
        return config
Loads a config from disk.  Defaults to a random config if none is specified