使用Python打开cmd,获取结果并相应地继续
我需要一个Python可以调用使用Python打开cmd,获取结果并相应地继续,python,cmd,subprocess,pipe,stdin,Python,Cmd,Subprocess,Pipe,Stdin,我需要一个Python可以调用cmd进程并运行命令的代码 我必须找到该命令是否成功,并在python代码中进行相应的处理 我在stackoverflow上的代码只处理打开cmd和运行命令 我不想使用runas,因为它需要管理员权限,这是我以后在程序中加入的,不应该在这里使用。(只有在不调用UAC且不需要管理员权限的情况下才建议使用。) 我发现唯一一个没有管理员权限运行cmd的代码是: command = "cmd.exe" proc = subprocess.Popen(command, st
cmd
进程并运行命令的代码
我必须找到该命令是否成功,并在python代码中进行相应的处理
我在stackoverflow上的代码只处理打开cmd和运行命令
我不想使用runas
,因为它需要管理员权限,这是我以后在程序中加入的,不应该在这里使用。(只有在不调用UAC且不需要管理员权限的情况下才建议使用。)
我发现唯一一个没有管理员权限运行cmd
的代码是:
command = "cmd.exe"
proc = subprocess.Popen(command, stdin = subprocess.PIPE, stdout = subprocess.PIPE)
我不知道
proc
变量是否可用于检测返回值或其他任何东西,请相应地指导我,并尽可能建议更好的代码。是的,Popen
的结果可用于检测返回值和输出,但使用子流程更容易。从Python运行:
您可以询问结果
(同样,从):
是的,Popen
的结果可以用来检测返回值和输出,但是使用子流程更容易。运行
。从Python:
您可以询问结果
(同样,从):
subprocess.run(["ls", "-l"]) # doesn't capture output
result = subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE) # returns a CompletedProcess
result.returncode # process return code
result.stdout # std out from the process