from smbus import SMBus class PCF8574(object): def __init__(self, bus, addr): self.__addr = addr self.__bus = SMBus(bus) def __enter__(self): return self def __exit__(self, exc_type, exc_value, traceback): self.__bus.close() def read(self): return ~self.__bus.read_byte(self.__addr) def write(self, value): self.__bus.write_byte(self.__addr, ~value)