Store output of subprocess.Popen call in a string

前端 未结 15 2507
一个人的身影
一个人的身影 2020-11-22 03:23

I\'m trying to make a system call in Python and store the output to a string that I can manipulate in the Python program.

#!/usr/bin/python
import subprocess         


        
15条回答
  •  天命终不由人
    2020-11-22 03:57

    In Python 3.7 a new keyword argument capture_output was introduced for subprocess.run. Enabling the short and simple:

    import subprocess
    
    p = subprocess.run("echo 'hello world!'", capture_output=True, shell=True, encoding="utf8")
    assert p.stdout == 'hello world!\n'
    

提交回复
热议问题