使用subprocess.Popen()打开程序时出错

时间:2012-11-09 02:36:29

标签: python linux ubuntu

我正在运行Ubuntu。 如果我在终端输入:

>>> import subprocess
>>> subprocess.Popen('firefox')

返回:

<subprocess.Popen object at 0xb76c080c>
>>> nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 30
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 30
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 55
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 56
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 59
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 58
nvfx_screen_get_param:95 -  Warning: unknown PIPE_CAP 30

它不会返回到python终端:>>>

我是linux上的新手 - 有人能告诉我我做错了什么吗?感谢。

编辑:

对于有兴趣解决这个问题的人,我用这种方式解决了眼前的问题:

from subprocess import PIPE,Popen
Popen('firefox',stdout=PIPE,stderr=PIPE)

1 个答案:

答案 0 :(得分:1)

不是打开浏览器的最佳方式。也许试试这个:

import webbrowser
webbrowser.open("http://www.stackoverflow.com/")

顺便说一句,它已经返回到你的python终端,我可以在输出中看到它。这个过程中有一些关于stdout或stderr的喋喋不休,这可能覆盖了>>> prompt,但如果你按 Enter 几次,你可能会发现你仍然在{ {3}}