最佳答案
我试图在 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>)
但是它不包括我在命令行中得到的错误。因此,我的问题是: 如何从 Python 中获得输出错误({"code":-4,"message":"Insufficient funds"}
) ?