我想检查子流程是否成功完成执行或失败。目前,我已经提出了一个解决方案,但是我不确定它是否正确和可靠。是否保证每个进程仅将错误输出到stderr
stdout
:
注意:我对仅重定向/打印输出不感兴趣。我已经知道该怎么做。
pipe = subprocess.Popen(command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True)
if "" == pipe.stdout.readline():
print("Success")
self.isCommandExectutionSuccessful = True
if not "" == pipe.stderr.readline():
print("Error")
self.isCommandExectutionSuccessful = True
或者:
if "" == pipe.stdout.readline():
print("Success")
self.isCommandExectutionSuccessful = True
else:
print("Error")
self.isCommandExectutionSuccessful = False
和:
if not "" == pipe.stderr.readline():
print("Success")
self.isCommandExectutionSuccessful = True
else:
print("Error")
self.isCommandExectutionSuccessful = False
您需要对流程的输出做任何事情吗?
该check_call
方法在这里可能有用。在这里查看python文档:https
:
//docs.python.org/2/library/subprocess.html#subprocess.check_call
然后,您可以按以下方式使用它:
try:
subprocess.check_call(command)
except subprocess.CalledProcessError:
# There was an error - command exited with non-zero code
但是,这依赖于command
返回成功的退出代码0和成功的非零值。
如果还需要捕获输出,则该check_output
方法可能更合适。如果您也需要重定向标准错误,则仍然可以。
try:
proc = subprocess.check_output(command, stderr=subprocess.STDOUT)
# do something with output
except subprocess.CalledProcessError:
# There was an error - command exited with non-zero code
请参阅以下文档:https
:
//docs.python.org/2/library/subprocess.html#subprocess.check_output
问题内容: 我一直在使用它来加载另一个页面,仅使用他们的示例: 但是我想在加载成功时运行一个函数,如果加载失败,则运行另一个函数,不幸的是,回调函数上的描述是: 当ajax请求完成(不一定成功)时调用的函数。 如何确保加载成功? 谢谢。 问题答案: 您可以尝试使用更详细的$ .ajax()方法调用。这将为您提供对AJAX调用的更细粒度的控制(但是,与简单的.load()相比,它还需要做更多的工作。
我正在使用Ruby和aws sdk从S3下载一个文件夹。如何检查每个文件是否已成功下载?这只是检查本地计算机上是否存在文件吗?
问题内容: 好吧,我是SQL的新手,我刚刚读到,存储过程始终返回一个值,确定该过程中的查询是否已成功执行是一种很好的做法。 所以我有一个带有select语句的简单存储过程,如果要执行,我想返回1,否则返回-1。 您能告诉我如何用SQL编写该条件吗? 如果有关系,我的数据库是MS SQL Server。 谢谢你。 问题答案: 使用输出参数返回成功状态以及Try..Catch块
问题内容: 我正在使用AngularJS 1.1.3将新的$ resource与promises一起使用… 我如何从中获得回调?我尝试使用与$ http相同的方法: 但是没有“成功”也没有“错误”功能… 我也尝试过: 即使返回的是 404 ,也总是打印“成功,有数据” 。 任何想法? 谢谢 问题答案: 从角度 资源 和角度1.2 的 PR开始 ,角度将切换为执行成功/错误检查的更简单方法。无需附加
我已经构建了一个使用AJAX提交表单数据的登录脚本。 PHP部分在没有AJAX的情况下运行良好。但是系统不能与AJAX实现一起工作。 它始终显示以下消息,即使 PHP 文件返回 true[正确的用户名 用户名/密码不正确 超文本标记语言Result Div JQuery fn_login.php 有人可以指出代码/实践中的错误吗? 刚刚尝试禁用AJAX,当用户名/密码正确时,PHP文件可以正确回显
问题内容: 我有一个简单的路线定义: 是唯一的选择吗?感觉很乱。 问题答案: 根据node.js的源代码 不返回任何内容。 如果出现问题,它将抛出一个对象。因此,您应该在一个块中编写。