【问题标题】:getting output with subprocess check_output使用子进程 check_output 获取输出
【发布时间】:2016-12-02 08:20:08
【问题描述】:

我有这个 exe 文件“dexpt.exe”,它返回一个值,但下面的代码返回空白。有人可以帮忙吗?

谢谢 杰克

 #!/usr/bin/env python
import subprocess
import ctypes
tm=subprocess.check_output(['dexpt.exe'])
msgbox = ctypes.windll.user32.MessageBoxA
mbx= msgbox(None,tm, 'Title', 0)
print mbx

【问题讨论】:

  • 你确定exe返回任何输出吗? print tm 能带给你什么?
  • 我看到你是新人,所以我会告诉你:如果有人帮助你投票他们的答案并接受最佳答案:) 点击✓

标签: python subprocess


【解决方案1】:

这是如何获得输出和错误,如果有一些但使用Popen。该程序调用python脚本并返回error(如果有的话)(您可以轻松修改它以返回outputdecode 方法将bytestring 转换为string

def call_func():
    comand = "python test.py"
    proc = subprocess.Popen(comand.split(), shell=False,stdout= subprocess.PIPE,  stderr= subprocess.PIPE)
    if proc.wait() != 0:
        output, err = proc.communicate()
        return err.decode()
    return True

【讨论】:

    猜你喜欢
    • 2017-10-11
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    相关资源
    最近更新 更多