如何从Python subprocess.check_output()捕获异常输出?
我正在尝试从Python内部进行比特币付款。在bash中,我通常会这样做: bitcoin sendtoaddress <bitcoin address> <amount> 因此,例如: bitcoin sendtoaddress 1HoCUcbK9RbVnuaGQwiyaJGGAG6xrTPC9y 1.4214 如果成功,我会得到一个交易ID作为输出,但是如果我尝试转账大于比特币余额的金额,则会得到以下输出: error: {"code":-4,"message":"Insufficient funds"} 现在,在我的Python程序中,我尝试按以下方式进行付款: import subprocess try: output = subprocess.check_output(['bitcoin', 'sendtoaddress', address, str(amount)]) except: print "Unexpected error:", sys.exc_info() 如果有足够的余额,则可以正常工作,但是如果没有足够的余额,则会sys.exc_info()输出以下内容: (<class 'subprocess.CalledProcessError'>, CalledProcessError(), <traceback object at 0x7f339599ac68>) 它不包括我在命令行中得到的错误。所以我的问题是;如何{"code":-4,"message":"Insufficient funds"}从Python中获取输出的错误()? 欢迎所有提示!