我正在通過Python抓取來自SVN的更新。打印多行引發異常
我有這樣的:
try:
output = subprocess.check_output(svn.update_cmd,
stderr=subprocess.STDOUT, shell=True)
print output
print 'finished svn update'
revision_number = output.split()[-1].rstrip('.') #revision number
if log_update:
write_update(revision_number)
return revision_number
except subprocess.CalledProcessError, e:
raise SVNUpdateError(e.output)
當我提出我的自定義SNVUpdateError
,我正在換行打印出來作爲\n
秒。
如果我try:except
SVNUpdateError
,我可以漂亮的打印行,但它出來作爲標準輸出,並傳遞到下一個代碼塊。我想提出這個例外,完全從任務中解脫出來,並將SVN客戶端的結果打印出爲什麼事情沒有換行符和其他特殊字符。
謝謝。
我沒有關注。爲什麼不能只是'sys.stderr.write(e.output)'然後退出('sys.exit(1)')? – mgilson 2012-07-23 19:44:22