2007年12月15日 星期六 18:08
程序A:
import time
import sys
if name == 'main':
print what
time.sleep(10)
print what
print 'end'
程序B:
import os
if name == 'main':
read = os.popen('python /home/jessinio/pythonCode/forPrint.py', 'r')
print read.read()
为什么程序B的输出为是一次性的:
raw_input('fdkj')
raw_input('fdkj')
end
而不是先打印raw_input('fdkj'),等待10秒后,再打印:
raw_input('fdkj')
end
的呢?
如何做到子进程打印一次 ,父进程就能读取一次信息呢?
--
注意身体,身体是革命的本钱!!
2007年12月15日 星期六 18:11
那你用fifo吧,
jessinio liang 写道:
> 程序A:
> import time
> import sys
> if name == 'main':
> print what
> time.sleep(10)
> print what
> print 'end'
>
> 程序B:
> import os
> if name == 'main':
> read = os.popen('python /home/jessinio/pythonCode/forPrint.py', 'r')
> print read.read()
>
> 为什么程序B的输出为是一次性的:
> raw_input('fdkj')
> raw_input('fdkj')
> end
>
>
> 而不是先打印raw_input('fdkj'),等待10秒后,再打印:
> raw_input('fdkj')
> end
>
> 的呢?
>
>
> 如何做到子进程打印一次 ,父进程就能读取一次信息呢?
>
>
>
>
>
>
>
2007年12月15日 星期六 18:15
去把 read.read() 改为两次 read.readline() On Dec 15, 2007 6:08 PM, jessinio liang <jessinio at gmail.com> wrote: > > 程序B: > import os > if name == 'main': > read = os.popen('python /home/jessinio/pythonCode/forPrint.py', 'r') > print read.read() >
2007年12月15日 星期六 19:04
>去把 read.read() 改为两次 read.readline() 实际上有read一样. fifo还没有试过.要试一下才回复
2007年12月15日 星期六 19:05
打错字,跟正如下: >去把 read.read() 改为两次 read.readline() 实际上readline结果和read一样.
2007年12月16日 星期日 21:57
试了一下.改用fifo还是一样
2007年12月17日 星期一 08:17
你最好把代码贴出来,用有名管道,只要程序设计没问题,像你这种说的这种是不 存在问题的,如果实在难,你用dbus试一下。 jessinio liang 写道: > 试了一下.改用fifo还是一样 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2007年12月17日 星期一 09:34
应该是输出缓冲的问题,在print后加flush试试,或者python -u 命令行开关。 ----- Original Message ----- From: "jessinio liang" <jessinio at gmail.com> To: <python-chinese at lists.python.cn> Sent: Sunday, December 16, 2007 9:57 PM Subject: Re: [python-chinese] 父进程读取子进程信息 > 试了一下.改用fifo还是一样 > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2007年12月17日 星期一 10:54
的确是有效果,需要注意一下python命令行的参数.功能强大
2007年12月17日 星期一 10:57
思考一下,出现新问题: 管道也要缓冲?? 有没有办法使管道不缓冲呢???
2007年12月17日 星期一 12:13
是 python 的输入输出有缓冲, 看我上边贴的 fush On Dec 17, 2007 10:57 AM, jessinio liang <jessinio at gmail.com> wrote: > 思考一下,出现新问题: > > > 管道也要缓冲?? > > 有没有办法使管道不缓冲呢??? > >
Zeuux © 2025
京ICP备05028076号