小编Aji*_*ith的帖子

如何使用子进程和Popen获取我的.exe的所有输出?

我正在尝试运行可执行文件并使用subprocess.Popen; 但是,我似乎没有得到所有的输出.

import subprocess as s
from subprocess import Popen 
import os

ps = Popen(r'C:\Tools\Dvb_pid_3_0.exe', stdin = s.PIPE,stdout = s.PIPE)
print 'pOpen done..'

while:

line = ps.stdout.readline()
print line
Run Code Online (Sandbox Code Playgroud)

手动打开时,它会打印比原始exe文件少两行.

我尝试了一种具有相同结果的替代方法:

f = open('myprogram_output.txt','w')
proc = Popen('C:\Tools\Dvb_pid_3_0.exe ', stdout =f)

line = proc.stdout.readline()
print line
f.close()
Run Code Online (Sandbox Code Playgroud)

谁能帮助我获取exe的完整数据?

正如塞巴斯蒂安所说:

原始exe文件最后几行o/p:

-Gdd:通用计数(1 - 1000)

-Cdd:剪切开始于(0 - 99)-Edd:剪切结束于(1 - 100)

请选择以下流文件编号:

1 - .\ pdsx100-bcm7230-squashfs-sdk0.0.0.38-0.2.6.0-prod.sao.ts

运行后得到的o/p:

-P0xYYYY      : Pid been interested                                          
Run Code Online (Sandbox Code Playgroud)

-S0xYYYY:服务ID感兴趣
-T0xYYYY:传输ID感兴趣
-N0xYYYY:网络ID感兴趣
-R0xYYYY:旧的Pid被此PID
-Gdd 替换:通用计数(1 - 1000)

所以我们可以看到一些缺失的线条.我必须写1并选择值后请选择下面显示的fule数字.

我试图使用ps.stdin.write('1 …

python windows subprocess popen

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

popen ×1

python ×1

subprocess ×1

windows ×1