def __new__(cls, dire): if dire: if type(dire) != str: errors = "the type of directory name is wrong" raise TypeError(errors) obj = BaseData() if not obj.direxit(dire=dire): errors = "the directory name '" + dire + "' don't exist" raise NameError(errors) return object.__new__(cls) else: errors = "Name don't have value" raise ValueError(errors)