Python论坛  - 讨论区

标题:[python-chinese] 父进程读取子进程信息

2007年12月15日 星期六 18:08

jessinio liang jessinio在gmail.com
星期六 十二月 15 18:08:08 HKT 2007

程序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

的呢?


如何做到子进程打印一次 ,父进程就能读取一次信息呢?






-- 
注意身体,身体是革命的本钱!!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月15日 星期六 18:11

Romit m_list在126.com
星期六 十二月 15 18:11:21 HKT 2007

那你用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
>
> 的呢?
>
>
> 如何做到子进程打印一次 ,父进程就能读取一次信息呢?
>
>
>
>
>
>
>   


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月15日 星期六 18:15

Jiahua Huang jhuangjiahua在gmail.com
星期六 十二月 15 18:15:48 HKT 2007

去把 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()
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月15日 星期六 19:04

jessinio liang jessinio在gmail.com
星期六 十二月 15 19:04:47 HKT 2007

>去把 read.read() 改为两次 read.readline()

实际上有read一样.

fifo还没有试过.要试一下才回复

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月15日 星期六 19:05

jessinio liang jessinio在gmail.com
星期六 十二月 15 19:05:51 HKT 2007

打错字,跟正如下:

>去把 read.read() 改为两次 read.readline()

实际上readline结果和read一样.

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月16日 星期日 21:57

jessinio liang jessinio在gmail.com
星期日 十二月 16 21:57:02 HKT 2007

试了一下.改用fifo还是一样

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月17日 星期一 08:17

Romit m_list在126.com
星期一 十二月 17 08:17:51 HKT 2007

你最好把代码贴出来,用有名管道,只要程序设计没问题,像你这种说的这种是不
存在问题的,如果实在难,你用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


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月17日 星期一 09:34

vcc vcc在163.com
星期一 十二月 17 09:34:50 HKT 2007

应该是输出缓冲的问题,在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 



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月17日 星期一 10:54

jessinio liang jessinio在gmail.com
星期一 十二月 17 10:54:48 HKT 2007

的确是有效果,需要注意一下python命令行的参数.功能强大

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月17日 星期一 10:57

jessinio liang jessinio在gmail.com
星期一 十二月 17 10:57:34 HKT 2007

思考一下,出现新问题:


管道也要缓冲??

有没有办法使管道不缓冲呢???

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月17日 星期一 12:13

Jiahua Huang jhuangjiahua在gmail.com
星期一 十二月 17 12:13:29 HKT 2007

是 python 的输入输出有缓冲,
看我上边贴的 fush

On Dec 17, 2007 10:57 AM, jessinio liang <jessinio at gmail.com> wrote:
> 思考一下,出现新问题:
>
>
> 管道也要缓冲??
>
> 有没有办法使管道不缓冲呢???
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号