import subprocess
from tempfile import TemporaryDirectory
from pathlib import Path
with TemporaryDirectory() as tmpdirname:
with open(Path(tmpdirname) / "logfile.txt", 'w') as log_file:
cmd = 'printf "%s\\n" "foo" "bar" "baz"'
log_file.write("Running the command: %s\n" % cmd)
log_file.flush()
subprocess.call(cmd, shell=True, stdout=log_file, stderr=log_file)
with open(Path(tmpdirname) / "logfile.txt", 'r') as read_file:
for line in read_file:
print(line, end='')
aW1wb3J0IHN1YnByb2Nlc3MKZnJvbSB0ZW1wZmlsZSBpbXBvcnQgVGVtcG9yYXJ5RGlyZWN0b3J5CmZyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAoKd2l0aCBUZW1wb3JhcnlEaXJlY3RvcnkoKSBhcyB0bXBkaXJuYW1lOgogIHdpdGggb3BlbihQYXRoKHRtcGRpcm5hbWUpIC8gImxvZ2ZpbGUudHh0IiwgJ3cnKSBhcyBsb2dfZmlsZToKICAgIGNtZCA9ICdwcmludGYgIiVzXFxuIiAiZm9vIiAiYmFyIiAiYmF6IicKICAgIGxvZ19maWxlLndyaXRlKCJSdW5uaW5nIHRoZSBjb21tYW5kOiAlc1xuIiAlIGNtZCkKICAgIGxvZ19maWxlLmZsdXNoKCkKICAgIHN1YnByb2Nlc3MuY2FsbChjbWQsIHNoZWxsPVRydWUsIHN0ZG91dD1sb2dfZmlsZSwgc3RkZXJyPWxvZ19maWxlKQoKICB3aXRoIG9wZW4oUGF0aCh0bXBkaXJuYW1lKSAvICJsb2dmaWxlLnR4dCIsICdyJykgYXMgcmVhZF9maWxlOgogICAgZm9yIGxpbmUgaW4gcmVhZF9maWxlOgogICAgICAgIHByaW50KGxpbmUsIGVuZD0nJykK