我想运行特定的命令行应用程序:
ffmpeg -i video.mp4 audio.mp3
我正在通过GUI运行命令,当控制台窗口不存在时,ffmpeg
进程正在新的cmd窗口中运行。
测试人员发现“出现的黑色窗口”可怕且不便于用户使用。
如何在没有任何可见窗口的情况下运行应用程序? os.system()
,subprocess.Popen()
和subprocess.call()
都会启动cmd窗口。
如果重要,我正在使用pyqt4和py2exe。我的目标是Windows操作系统用户。
答案 0 :(得分:1)
ActiveState上的这个食谱可以解决您的问题:
http://code.activestate.com/recipes/409002/
Python 2.7需要稍作修改。见How do I eliminate Windows consoles from spawned processes in Python (2.7)?
答案 1 :(得分:0)
从ffmpeg
命令启动START
。如果使用/B
开关,则不会显示命令窗口。
答案 2 :(得分:0)
使用subprocess.Popen
(或call
)并在某处重定向stdout / stderr。他们目前迷上了你自己的进程的stdout和stderr,这就是他们通过的原因。
如果您需要能够与GUI事件循环很好地集成的东西,请使用Twisted的流程启动功能。