2006年01月06日 星期五 15:16
目前在使用Python写一个自动化构建和自动化测试的脚本,已经基本完成了,目前美中不足的是,大多数时候需要调用其它命令行的程序来完成操作(python作为胶水),需要获得被调用程序的stdout和stderr输出,所以使用了os.popen(strCmd)的方式来创建进程并捕获其输出,这种方式目前工作正常。 但是我还想知道该进程结束时的返回值,这样就可以判断后续操作是否应该继续下去了,但是os.popen()及其系列函数都没有找到可行的方法。不知道那位大侠能够为在下指点一二?! -- --------------------------------- Apex Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060106/17e89f84/attachment.htm
2006年01月06日 星期五 15:46
Dear Apex Liu <apex.liu at gmail.com>: os.system 这个可以满足你的需求吗? ----- Chachi <Python at 5j4m.com> 2006-1-6 15:45:34 ---以下是您的原始邮件--- 发件人:Apex Liu (apex.liu at gmail.com) 时间: Fri, 6 Jan 2006 15:16:06 +0800 主题:[python-chinese] [求助] 如何获得所创建的进程的返回值 > 目前在使用Python写一个自动化构建和自动化测试的脚本,已经基本完成了,目前美中不足的是,大多数时候需要调用其它命令行的程序来完成操作(python作为胶水),需要获得被调用程序的stdout和stderr输出,所以使用了os.popen(strCmd)的方式来创建进程并捕获其输出,这种方式目前工作正常。 > > 但是我还想知道该进程结束时的返回值,这样就可以判断后续操作是否应该继续下去了,但是os.popen()及其系列函数都没有找到可行的方法。不知道那位大侠能够为在下指点一二?! > > -- > --------------------------------- > Apex Liu -----------------------
2006年01月06日 星期五 16:38
不能,呵呵,因为有时候会打开一个新的控制台窗口(我目前在Win32平台下)。 但是我自己找到了解决方法: f = os.popen(strCmd); while True: line = f.readline(); if len(line) == 0: break; if "\n" == line[-1]: line = line[:-1]; if len(result) != 0: result += "\n"; result += line; if bOutDirect == True: g_log.LOG(line); ret = f.close(); print "RET is: ", print ret; 进程的ExitCode可以通过关闭管道时Close()函数的返回值获得,如果返回值为None,表明进程ExitCode是0。 在06-1-6,Python <Python at 5j4m.net> 写道: > > Dear Apex Liu <apex.liu at gmail.com>: > os.system 这个可以满足你的需求吗? > > > ----- > Chachi <Python at 5j4m.com> > 2006-1-6 15:45:34 > > ---以下是您的原始邮件--- > 发件人:Apex Liu (apex.liu at gmail.com) > 时间: Fri, 6 Jan 2006 15:16:06 +0800 > 主题:[python-chinese] [求助] 如何获得所创建的进程的返回值 > > > > 目前在使用Python写一个自动化构建和自动化测试的脚本,已经基本完成了,目前美中不足的是,大多数时候需要调用其它命令行的程序来完成操作(python作为胶水),需要获得被调用程序的stdout和stderr输出,所以使用了os.popen(strCmd)的方式来创建进程并捕获其输出,这种方式目前工作正常。 > > > > > 但是我还想知道该进程结束时的返回值,这样就可以判断后续操作是否应该继续下去了,但是os.popen()及其系列函数都没有找到可行的方法。不知道那位大侠能够为在下指点一二?! > > > > -- > > --------------------------------- > > Apex Liu > > ----------------------- > > _______________________________________________ > 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 > -- --------------------------------- Apex Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060106/47ae1655/attachment.html
Zeuux © 2025
京ICP备05028076号