我有一个用 C++ 编写的 .exe,想从 Python 中使用它。我知道有一种方法可以将 C 函数导入 python,但我的 Python 技能有限,而 C++ 没有任何内容,所以我想使用带有子进程的现有 .exe 并读取输出。这个 .exe 运行直到得到一个 (Q) 作为退出命令,所以必须连续读取 sdtout。因为它连接到远程 API 并从那里获取信息,所以在第一条消息到达之前需要一些时间。
我尝试这样做,但没有任何输出:
from subprocess import Popen, PIPE, STDOUT
import os
cmd = r'D:\\_Dev\\Avaya\\RTD\\RTDTEST_ntw.exe -log ip_address username password -p 0 -table int skillset 2000 0'
proc = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=True)
while proc.poll() is None:
for line in iter(proc.stdout.readline, b''):
line = line.rstrip().decode('utf8')
print(">>>", line)
它只是运行,什么也没有打印出来。应该怎么办?
如果我将命令更改为内置命令行 'dir /?'
,它可以正常工作。