如何用python-subprocess模块获得“python --version”

新手上路,请多包涵

尝试用subprocess.Popen方式获取“python--version”的值,但是获取的内容是空

from subprocess import *
p = Popen("/usr/bin/python --version",shell=True,stdout=PIPE).stdout
print p.read()

但是打印不出任何东西,同样如果把python --version换成ls 就能取得对应的值,python --version打印出的值不算是标准输出么?

阅读 5.7k
2 个回答

很多程序把版本信息打到 stderr 上。

from subprocess import *
p = Popen("python --version",shell=True,stdout=PIPE).stdout
print p.read()

改成上面的代码。

/usr/bin/python --version 这个直接输出会一直堵塞。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题