Answers for "python run terminal command and get output"

3

How can I get terminal output in python

>>> import subprocess
>>> cmd = [ 'echo', 'arg1', 'arg2' ]
>>> output = subprocess.Popen( cmd, stdout=subprocess.PIPE ).communicate()[0]
>>> print output
arg1 arg2

>>> 

There is a bug in using of the subprocess.PIPE. For the huge output use this:

import subprocess
import tempfile

with tempfile.TemporaryFile() as tempf:
    proc = subprocess.Popen(['echo', 'a', 'b'], stdout=tempf)
    proc.wait()
    tempf.seek(0)
    print tempf.read()
Posted by: Guest on October-15-2020
2

python run command and read output

#!/usr/bin/python
import subprocess, sys
## command to run - tcp only ##
cmd = "/usr/sbin/netstat -p tcp -f inet"
## run it ##
p = subprocess.Popen(cmd, shell=True, stderr=subprocess.PIPE)
## But do not wait till netstat finish, start displaying output immediately ##
while True:
    out = p.stderr.read(1)
    if out == '' and p.poll() != None:
        break
    if out != '':
        sys.stdout.write(out)
        sys.stdout.flush()
Posted by: Guest on August-10-2020
2

python execute shell command and get output

import subprocess
process = subprocess.Popen(['echo', 'More output'],
                     stdout=subprocess.PIPE, 
                     stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
stdout, stderr
Posted by: Guest on March-07-2020
2

python run command and read output

>>> subprocess.check_output(['ls', '-l'])
b'total 0n-rw-r--r--  1 memyself  staff  0 Mar 14 11:04 filesn'
Posted by: Guest on August-10-2020

Code answers related to "python run terminal command and get output"

Python Answers by Framework

Browse Popular Code Answers by Language