Consider this code, where a subprocess.Popen is spawned. I'd like writes to the subprocess' stdout and stderr to go to my custom file-object's .write() method, however this isn't the case.
import subprocess
class Printer:
    def __init__(self):
        pass
    def write(self, chunk):
        print('Writing:', chunk)
    def fileno(self):
        return 0
    def close(self):
        return
proc = subprocess.Popen(['bash', '-c', 'echo Testing'], 
                        stdout=Printer(),
                        stderr=subprocess.STDOUT)
proc.wait()
Why is the .write() method not used, and what is the use of specifying a stdout= parameter in this case?
 
     
     
    