我正在尝试从子进程获取输出。Popen 将其分配给一个变量,然后在程序的其余部分使用它,但它正在执行代码而不将其分配给我的变量
我当前的代码行是result = subprocess.Popen('bzip2 --version', shell=True, stdout=subprocess.PIPE).communicate()[0]
目前正在测试它,我只是打印长度和当前为空的结果 它确实执行代码,但它在我打印之前显示在终端中
我已经使用其他命令尝试了上述代码,它的工作方式与我预期一样
关于我如何做到这一点的任何建议?
似乎 bzip2 写入 stderr 而不是 stdout。
result = subprocess.Popen('bzip2 --version', shell=True, stderr=subprocess.PIPE).communicate()[1]