从正在运行的程序中读取值

Read values from a running program

本文关键字:读取 程序 运行      更新时间:2023-10-16

在DOS .exe程序(无法访问源代码)中,DOS屏幕显示:rate = 60.(或其他值)。

我如何读取输出"60"作为我在Python或C/C++中制作的应用程序的输入,除了阅读和打字(我想运行它几十次)。

此程序在Windows XP模式下运行。

使用subprocess模块。有几种不同的方式;最常见的是使用CCD_ 4对象。

>>> import subprocess
>>> proc = subprocess.Popen(['echo', 'rate = 60'], stdout=subprocess.PIPE,
                                                   stdin=subprocess.PIPE, 
                                                   stderr=subprocess.PIPE)
>>> proc.communicate()
('rate = 60n', '')

如果您运行的是Python 2.7或更高版本,那么您也可以使用subprocess.check_output

在python中:

import commands
commands.getoutput(cmd)

http://docs.python.org/library/commands.html#commands.getoutput

尝试Subprocess模块从python代码运行dos.exe程序。

import shlex
cmdline = "command to execute your exe file"
cmd = shlex.split(cmdline)
output_process = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE).communicate()

您可以使用管道。prgm.exe | anotherprogram.exe只需记住,另一个程序将获得prgm.exe 的全部输出

您还可以从应用程序中调用应用程序,并使用ShellExecute存储返回值。