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号