#!/usr/bin/env python import sys import pty import os def get_text(filename): try: ( child_pid, fd ) = pty.fork() # OK except OSError as e: print(str(e)) sys.exit(1) if child_pid == 0: try: with open("log.txt", "w") as f: f.write("about to execlp") os.execlp("cat", "cat", filename) except: with open("log.txt", "w") as f: f.write("could not spawn process") print("Could not spawn") sys.exit(1) child_pty = os.fdopen(fd) return child_pty.read() if __name__ == "__main__": print(get_text("my-pty-test.py"))