“Python Capture stdout” Código de respuesta

Python escribe subprocesos stdout stderr para archivar

with open("stdout.txt","wb") as out, open("stderr.txt","wb") as err:
    subprocess.Popen("ls",stdout=out,stderr=err)
Outrageous Octopus

Python Capture stdout

from io import StringIO 
import sys

class Capturing(list):
    def __enter__(self):
        self._stdout = sys.stdout
        sys.stdout = self._stringio = StringIO()
        return self
    def __exit__(self, *args):
        self.extend(self._stringio.getvalue().splitlines())
        del self._stringio    # free up some memory
        sys.stdout = self._stdout
        
with Capturing() as output:
    print('hello world')

print('displays on screen')

with Capturing(output) as output:  # note the constructor argument
    print('hello world2')

print('done')
print('output:', output)
Super Shrew

Respuestas similares a “Python Capture stdout”

Preguntas similares a “Python Capture stdout”

Más respuestas relacionadas con “Python Capture stdout” en Python

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código