Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从正在运行的程序中读取值_C++_Python_C_Windows_Io - Fatal编程技术网

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

C++ 从正在运行的程序中读取值,c++,python,c,windows,io,C++,Python,C,Windows,Io,在DOS.exe程序(无法访问源代码)中,DOS屏幕显示:rate=60。(或其他值) 如何读取输出“60”以用作我正在用Python或C/C++制作的应用程序的输入, 除了阅读和打字(我想运行几十次) 此程序在Windows XP模式下运行。您可以使用管道。 prgm.exe |另一个程序.exe 请记住,另一个程序将获得prgm.exe的全部输出,您可以使用pipe。 prgm.exe |另一个程序.exe 请记住,另一个程序将在python中获得prgm.exe的全部输出: import

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

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

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

您可以使用管道。
prgm.exe |另一个程序.exe
请记住,另一个程序将获得prgm.exe的全部输出,您可以使用pipe。
prgm.exe |另一个程序.exe
请记住,另一个程序将在python中获得prgm.exe的全部输出:

import commands
commands.getoutput(cmd)

在python中:

import commands
commands.getoutput(cmd)
使用该模块。有几种不同的方法;最常用的方法是使用
Popen
对象

>>> import subprocess
>>> proc = subprocess.Popen(['echo', 'rate = 60'], stdout=subprocess.PIPE,
                                                   stdin=subprocess.PIPE, 
                                                   stderr=subprocess.PIPE)
>>> proc.communicate()
('rate = 60\n', '')
如果您运行的是Python 2.7或更高版本,那么您也可以使用。

使用该模块。有几种不同的方法;最常用的方法是使用
Popen
对象

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

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

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

您也可以从应用程序调用应用程序并使用存储返回值。

尝试使用模块从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()
尝试使用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()

“”@senderle,谢谢,然后让子进程标记的答案正确!“”@senderle,谢谢,然后让子进程标记的答案正确!正如的帖子所示,
shlex
模块可以用于将命令行分解为正确解析的列表,以便输入到
Popen
构造函数中,
shlex
模块可用于将命令行分解为正确解析的列表,以便输入到
Popen
构造函数中。