2016-11-29 59 views
-3

当我将这段代码作为应用程序(.exe)文件运行时,它返回一个空白输出窗口。os.popen不能以.exe的方式工作

import os 

r = os.popen('cmd').read() 
print(r) 

(Output Window)

有人能解决我的代码或暗示的altenative? 编辑: 我的目标是将程序作为可执行文件运行,在DOS控制台中运行命令并返回命令的输出。

感谢

回答

0

os.popen

Open a pipe to or from command. The return value is an open file object connected to the pipe, which can be read or written depending on whether mode is 'r' (default) or 'w'.

如果你只是想调用的应用程序:

os.popen('app_you_want_call.exe') 

如果你试图用Windows命令行交互方式打球,你必须做例如:

import subprocess 
proc = subprocess.Popen('cmd.exe', stdin=subprocess.PIPE) 
proc.stdin.write("YOUR COMMAND HERE") 

More about subprocess

+0

代码输出此异常: “回溯(最近通话最后一个): 文件 “C:\ Users \用户名为myusername \桌面\ testing.py”,3号线,在 stdin.write(” cmd“) NameError:name'stdin'没有被定义 –

+0

糟糕,固定(我忘记'stdin.write'前的'proc.') – Arount

+0

谢谢你的回答,以及你对我的混乱的耐心。对不起'回合 –

相关问题