我正在尝试从 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内部?