def read(self):        
        r, w, e = select.select([self.child_fd], [], [], 30)
        if not r:
            return ""
        
        if self.child_fd in r:
            try:
                txt = os.read(self.child_fd, 1000)
            except __HOLE__:  # XXXblake Not sure why this happens on Unix
                txt = ""
            return txt
dataset/ETHPy150Open joehewitt/devon/devon/spawn.py/SpawnPty.read