从正在运行的程序中读取值
Read values from a running program
在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存储返回值。
相关文章:
- 我的程序没有从文件中读取并输入数据
- 如何使用C++读取另一个程序中的源代码输出
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 编写一个读取五个整数并执行一些任务的C++程序
- 为什么我的程序在读取/写入文件时会删除最重要的数字?
- 从不属于应用程序的闪存读取
- For 循环在尝试读取数组 c++ 时程序崩溃
- 为什么我的驱动程序只读取部分字符串?
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 当注入程序的内存空间时,如何读取从 0 到 0xFFFFFFFFF 的每个字节?我正在创建模式扫描仪
- 如何运行外部程序,向其传递内存地址以读取/写入?
- boost::asio 不会触发读取处理程序,而 Wireshark 会看到传入的数据
- 我需要编写一个程序来读取一个文件,该文件将输出所有唯一的整数,如果已经看到整数,它将被关闭
- 如何以相反的顺序读取C++程序的输入
- 正在比较标头记录值和读取程序崩溃的行数.C++
- 文件读取程序有..黑屏问题
- 从输入文件读取程序
- C++:无法使用其他程序读取程序的特定内存地址内的值
- 简单的c++文件读取程序只返回垃圾
- 无法读取程序输出