windows保存输出到文件的命令行程序, 能不能直接输出到python内存?

如题, 假设有一个命令行程序a.exe, 可以指定输入输出文件, 如
a.exe input.txt -o output.txt
在python中调用, 能不能直接输出到python中定义的一个字符串?

3个回答

用subprocess的popen,以前写的gdb的输出的例子copy过来给你参考。
import subprocess

gdbexe = "linux-gdb\powerpc-elf-linux-gdb.exe"
    gdbinput = corefilename
    proc = subprocess.Popen(gdbinput, stdin=subprocess.PIPE,  stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    while proc.poll() == None:
        self.ResultCtrl.AppendText('.')
        txt = proc.stdout.readline()
crf_moonlight
crf_moonlight 谢了...虽然你这个还是读的到标准输出的内容
2 年多之前 回复

可以使用os.popen,具体调用如下:
import os

fd = os.open('a.exe')
str = fd.read()
fd.close()

这样str的内容就是a.exe输出的字符串了

crf_moonlight
crf_moonlight 不不不..... 我的意思是把a.exe输出到文件的内容重定向到python, 不是取得a.exe在命令行的输出
2 年多之前 回复
starmy1987
一场大雨 上面有点笔误,str = os.open('a,exe)应改为str = os.popen('a.exe')
2 年多之前 回复

应该可以,电脑从来没有出现过这样的问题。

crf_moonlight
crf_moonlight 你说的啥啊?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐