2005年07月24日 星期日 23:36
我认为你对于这里Broken pipe的解释是正确的,不过我没有遇到这个问题。你们 的2个版本在我的windows server 2003上存在的问题是,程序无法结束,p.wait() 阻塞。 把p.wait()去掉,发现打印出'waiting subprocess exit'后又经过100多次循环, for line in p.stdout才结束。猜想是必须在父进程中把pipe读完,子进程才真正 退出。 根据上面这个猜想,和Wang Kebo的代码,改了一个在我的系统中能正常运行的版 本,以for line in p.stdout: pass代替p.wait(): # receiver.py (the main program) from subprocess import Popen, PIPE def main(): p = Popen(['python', 'collector.py'], stdout=PIPE, stdin=PIPE) keep_going = False count = 0 for line in p.stdout: data = line.strip() print 'Receiver: ' + line # process(data) count += 1 if count >= 3: if keep_going == False: print >> p.stdin, 'exit' keep_going = True print 'waiting subprocess exit' for line in p.stdout: pass break if __name__ == '__main__': main() Wang Kebo wrote: >当Collector接收到'exit'退出时,Receiver仍然会向Collector发送'exit'字符串,所 >以会Broken pipe。 > >以下的代码在Windows和Debian上都没有问题。 >改动了Receiver > >
2005年07月24日 星期日 23:55
为何我发的代码都没有格式了?? 这里还可以减几行: if count >= 3: print >> p.stdin, 'exit' print 'waiting subprocess exit' for line in p.stdout: pass break 即可。 cpunion wrote: >我认为你对于这里Broken pipe的解释是正确的,不过我没有遇到这个问题。你们 >的2个版本在我的windows server 2003上存在的问题是,程序无法结束,p.wait() >阻塞。 > >把p.wait()去掉,发现打印出'waiting subprocess exit'后又经过100多次循环, >for line in p.stdout才结束。猜想是必须在父进程中把pipe读完,子进程才真正 >退出。 > >根据上面这个猜想,和Wang Kebo的代码,改了一个在我的系统中能正常运行的版 >本,以for line in p.stdout: pass代替p.wait(): > ># receiver.py (the main program) >from subprocess import Popen, PIPE > >def main(): >p = Popen(['python', 'collector.py'], stdout=PIPE, stdin=PIPE) >keep_going = False >count = 0 >for line in p.stdout: >data = line.strip() >print 'Receiver: ' + line ># process(data) >count += 1 >if count >= 3: >if keep_going == False: >print >> p.stdin, 'exit' >keep_going = True >print 'waiting subprocess exit' >for line in p.stdout: pass >break > >if __name__ == '__main__': >main() > >Wang Kebo wrote: > > > >>当Collector接收到'exit'退出时,Receiver仍然会向Collector发送'exit'字符串,所 >>以会Broken pipe。 >> >>以下的代码在Windows和Debian上都没有问题。 >>改动了Receiver >> >> >> >> > > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > > > >
2005年07月25日 星期一 08:03
在不使用wait()的情况(或者wait没有block)下 ,代码就能够正确退出。 结合Google上的信息,猜测是receiver写到pipe的字符串'exit'被buffer了。 但根据Python的文档,缺省Popen是不会Buffer的,另外我尝试了其他的几种方式 来避免Buffer,包括: 1、在两部分代码中使用python -u; 2、不用print,采用stdin.write,并flush() 都没有成功。 __ Best Regards, Kebo Wang >-----Original Message----- >From: python-chinese-bounces at lists.python.cn >[mailto:python-chinese-bounces at lists.python.cn] On Behalf Of cpunion >Sent: Sunday, July 24, 2005 11:37 PM >To: python-chinese at lists.python.cn >Subject: Re: [python-chinese] what's wrong with my code using >subprocess? > >我认为你对于这里Broken pipe的解释是正确的,不过我没有遇到这个问题。你们 >的2个版本在我的windows server 2003上存在的问题是,程序无法结束,p.wait() >阻塞。 > >把p.wait()去掉,发现打印出'waiting subprocess exit'后又经过100多次循环, >for line in p.stdout才结束。猜想是必须在父进程中把pipe读完,子进程才真正 >退出。 > >根据上面这个猜想,和Wang Kebo的代码,改了一个在我的系统中能正常运行的版 >本,以for line in p.stdout: pass代替p.wait(): > ># receiver.py (the main program) >from subprocess import Popen, PIPE > >def main(): >p = Popen(['python', 'collector.py'], stdout=PIPE, stdin=PIPE) >keep_going = False count = 0 for line in p.stdout: >data = line.strip() >print 'Receiver: ' + line ># process(data) >count += 1 >if count >= 3: >if keep_going == False: >print >> p.stdin, 'exit' >keep_going = True >print 'waiting subprocess exit' >for line in p.stdout: pass >break > >if __name__ == '__main__': >main() > >Wang Kebo wrote: > >>当Collector接收到'exit'退出时,Receiver仍然会向Collector发送'exit'字符串, 所 >>以会Broken pipe。 >> >>以下的代码在Windows和Debian上都没有问题。 >>改动了Receiver >> >> > > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese >
2005年07月25日 星期一 08:58
-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050725/a7be905c/attachment.html
2005年07月25日 星期一 09:01
这本书肯定有,自己找找就是了。另外一本类似的书籍: Python.Programming.on.MS.Windows.在emule可以下载到 xu.shengyong 写道: >------------------------------------------------------------------------ > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > >
2005年07月25日 星期一 09:23
我google了一下,好象没有电子版可以看的, :( ----- Original Message ----- From: "fei" <feiyafei at gmail.com> To: <python-chinese at lists.python.cn> Sent: Monday, July 25, 2005 9:01 AM Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > xu.shengyong 写道: > >>------------------------------------------------------------------------ >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> >> > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2005年07月25日 星期一 09:37
社区早就有人共享出来了,里面有你需要的是这本吧 http://www.woodpecker.org.cn/share/doc/Python/OReilly%20-%20Python%20Programming%20on%20Win32%20%5bmiex.org%5d.chm -----原始邮件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn]代表 xu.shengyong 发送时间: 2005年7月25日 9:23 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! 我google了一下,好象没有电子版可以看的, :( ----- Original Message ----- From: "fei" <feiyafei at gmail.com> To: <python-chinese at lists.python.cn> Sent: Monday, July 25, 2005 9:01 AM Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > xu.shengyong 写道: > >>------------------------------------------------------------------------ >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> >> > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2005年07月25日 星期一 09:51
好象没有,只有代码下载。 在 05-7-25,xu.shengyong<zjxushengyong at hotmail.com> 写道: > 我google了一下,好象没有电子版可以看的, :( > > ----- Original Message ----- > From: "fei" <feiyafei at gmail.com> > To: <python-chinese at lists.python.cn> > Sent: Monday, July 25, 2005 9:01 AM > Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > > > > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > > > > > > xu.shengyong 写道: > > > >>------------------------------------------------------------------------ > >> > >>_______________________________________________ > >>python-chinese list > >>python-chinese at lists.python.cn > >>http://python.cn/mailman/listinfo/python-chinese > >> > >> > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年07月25日 星期一 09:52
我说错了,这本书有下载。 在 05-7-25,limodou<limodou at gmail.com> 写道: > 好象没有,只有代码下载。 > > 在 05-7-25,xu.shengyong<zjxushengyong at hotmail.com> 写道: > > 我google了一下,好象没有电子版可以看的, :( > > > > ----- Original Message ----- > > From: "fei" <feiyafei at gmail.com> > > To: <python-chinese at lists.python.cn> > > Sent: Monday, July 25, 2005 9:01 AM > > Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > > > > > > > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > > > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > > > > > > > > > > > xu.shengyong 写道: > > > > > >>------------------------------------------------------------------------ > > >> > > >>_______________________________________________ > > >>python-chinese list > > >>python-chinese at lists.python.cn > > >>http://python.cn/mailman/listinfo/python-chinese > > >> > > >> > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > New Google Maillist: http://groups-beta.google.com/group/python-cn > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年07月25日 星期一 09:55
不要用tab要用空格。 在 05-7-24,cpunion<cpunion at 263.net> 写道: > 为何我发的代码都没有格式了?? > > 这里还可以减几行: > > if count >= 3: > print >> p.stdin, 'exit' > print 'waiting subprocess exit' > for line in p.stdout: pass > break > 即可。 > > cpunion wrote: > > >我认为你对于这里Broken pipe的解释是正确的,不过我没有遇到这个问题。你们 > >的2个版本在我的windows server 2003上存在的问题是,程序无法结束,p.wait() > >阻塞。 > > > >把p.wait()去掉,发现打印出'waiting subprocess exit'后又经过100多次循环, > >for line in p.stdout才结束。猜想是必须在父进程中把pipe读完,子进程才真正 > >退出。 > > > >根据上面这个猜想,和Wang Kebo的代码,改了一个在我的系统中能正常运行的版 > >本,以for line in p.stdout: pass代替p.wait(): > > > ># receiver.py (the main program) > >from subprocess import Popen, PIPE > > > >def main(): > >p = Popen(['python', 'collector.py'], stdout=PIPE, stdin=PIPE) > >keep_going = False > >count = 0 > >for line in p.stdout: > >data = line.strip() > >print 'Receiver: ' + line > ># process(data) > >count += 1 > >if count >= 3: > >if keep_going == False: > >print >> p.stdin, 'exit' > >keep_going = True > >print 'waiting subprocess exit' > >for line in p.stdout: pass > >break > > > >if __name__ == '__main__': > >main() > > > >Wang Kebo wrote: > > > > > > > >>当Collector接收到'exit'退出时,Receiver仍然会向Collector发送'exit'字符串,所 > >>以会Broken pipe。 > >> > >>以下的代码在Windows和Debian上都没有问题。 > >>改动了Receiver > >> > >> > >> > >> > > > > > >_______________________________________________ > >python-chinese list > >python-chinese at lists.python.cn > >http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年07月25日 星期一 10:18
多谢 Liming_Do ! 我在网上找了很长时间了。踏破铁鞋无觅处,得来全不费功夫,:) ----- Original Message ----- From: "Liming_Do" <Liming_Do at smics.com> To: <python-chinese at lists.python.cn> Sent: Monday, July 25, 2005 9:37 AM Subject: 答复: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! 社区早就有人共享出来了,里面有你需要的是这本吧 http://www.woodpecker.org.cn/share/doc/Python/OReilly%20-%20Python%20Programming%20on%20Win32%20%5bmiex.org%5d.chm -----原始邮件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn]代表 xu.shengyong 发送时间: 2005年7月25日 9:23 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! 我google了一下,好象没有电子版可以看的, :( ----- Original Message ----- From: "fei" <feiyafei at gmail.com> To: <python-chinese at lists.python.cn> Sent: Monday, July 25, 2005 9:01 AM Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > xu.shengyong 写道: > >>------------------------------------------------------------------------ >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> >> > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2005年07月25日 星期一 15:16
我好像有,哈。。 在 05-7-25,xu.shengyong<zjxushengyong at hotmail.com> 写道: > 多谢 Liming_Do ! > > 我在网上找了很长时间了。踏破铁鞋无觅处,得来全不费功夫,:) > > > > ----- Original Message ----- > From: "Liming_Do" <Liming_Do at smics.com> > To: <python-chinese at lists.python.cn> > Sent: Monday, July 25, 2005 9:37 AM > Subject: 答复: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > > > 社区早就有人共享出来了,里面有你需要的是这本吧 > http://www.woodpecker.org.cn/share/doc/Python/OReilly%20-%20Python%20Programming%20on%20Win32%20%5bmiex.org%5d.chm > > -----原始邮件----- > 发件人: python-chinese-bounces at lists.python.cn > [mailto:python-chinese-bounces at lists.python.cn]代表 xu.shengyong > 发送时间: 2005年7月25日 9:23 > 收件人: python-chinese at lists.python.cn > 主题: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python > Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > > > 我google了一下,好象没有电子版可以看的, :( > > ----- Original Message ----- > From: "fei" <feiyafei at gmail.com> > To: <python-chinese at lists.python.cn> > Sent: Monday, July 25, 2005 9:01 AM > Subject: Re: [python-chinese] 大家早上好啊!请问网络上有没有《Python Programming on Win32》这本书的电子版本,麻烦告诉一下网址,谢谢! > > > > 这本书肯定有,自己找找就是了。另外一本类似的书籍: > > Python.Programming.on.MS.Windows.在emule可以下载到 > > > > > > > > > > xu.shengyong 写道: > > > >>------------------------------------------------------------------------ > >> > >>_______________________________________________ > >>python-chinese list > >>python-chinese at lists.python.cn > >>http://python.cn/mailman/listinfo/python-chinese > >> > >> > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 苏州长风网络 QQ:104609351
2005年07月25日 星期一 17:49
有没有有关twisted的资料啊。看到头大了…… -- Best Regards, Leo Jay
Zeuux © 2025
京ICP备05028076号