新手上路,问一个关于os.popen3的返回值

新手上路,问一个关于os.popen3的返回值

程序如下:
#test.py

import os

fi, fo, ff = os.popen3("start C:/temp.exe")

while True:
    line = fi.readline()
    if len(line) == 0:
        break
    print line
fi.close()

while True:
    line1 = fo.readline()
    if len(line1) == 0:
        break
    print line1
fo.close()

while True:
    line2 = ff.readline()
    if len(line2) == 0:
        break
    print line2
ff.close()
本人通过os.popen3调用了用C++编写的一个简单的可执行文件,该可执行文件既有输入,又有输出
而我编写该程序的目的,是调用了该可执行文件之后,我想把输入和输出打印出来,但现在调试了之后什么都没有输出。
请各位大侠帮忙解决一下,本人不胜感谢!
您认为python是用来做这个的么?我认为不可能实现或实现起来很麻烦。
popen3(cmd, mode='t', bufsize=-1)
    Execute the shell command 'cmd' in a sub-process.
我是用来做测试用的!
我编写的程序是把文件从源地址复制到目的地址!
现在我用python来设计测试用例,所以想得到os.popen3的返回值!


QUOTE:
原帖由 KaMakA 于 2008-2-3 16:07 发表
您认为python是用来做这个的么?我认为不可能实现或实现起来很麻烦。
popen3(cmd, mode='t', bufsize=-1)
    Execute the shell command 'cmd' in a sub-process.

不懂不要瞎说。
lz的popen3没有错,但是你没有往句柄里写东西,当然得不到输出了
请4楼的能否说详细一点好吗?
非常感谢!
我用type()已经知道,fi,fo,ff都是file型的,但为什么里面什么都没有呢!
请指点!
我是一个菜鸟。
# Supply popen2 etc. (for Unix)我看到这条注释。
再加上我在linux下测试只能得到shell下的stdin, stdout, stderr。图形界面程序不可控。

所以轻易的得出错误的结论,误导了楼主。我有罪。


QUOTE:
原帖由 suxiao1999 于 2008-2-3 17:05 发表
请4楼的能否说详细一点好吗?
非常感谢!
我用type()已经知道,fi,fo,ff都是file型的,但为什么里面什么都没有呢!
请指点!

搞清楚stdin是干嘛用的,你就明白了