Sto provando a eseguire un pagamento Bitcoin da Python. In bash Io normalmente faccio:Come catturare l'output delle eccezioni da Python subprocess.check_output()?
bitcoin sendtoaddress <bitcoin address> <amount>
così per esempio:
bitcoin sendtoaddress 1HoCUcbK9RbVnuaGQwiyaJGGAG6xrTPC9y 1.4214
se è successo ottengo un ID di transazione come output, ma se provo a trasferire un importo più grande del mio equilibrio bitcoin , ottengo il seguente output:
error: {"code":-4,"message":"Insufficient funds"}
Nel mio programma Python io ora cerco di fare il pagamento come segue:
import subprocess
try:
output = subprocess.check_output(['bitcoin', 'sendtoaddress', address, str(amount)])
except:
print "Unexpected error:", sys.exc_info()
Se c'è abbastanza equilibrio che funziona bene, ma se non c'è abbastanza equilibrio sys.exc_info()
stampe fuori questo:
(<class 'subprocess.CalledProcessError'>, CalledProcessError(), <traceback object at 0x7f339599ac68>)
Non include l'errore che ottengo sulla riga di comando però. Quindi la mia domanda è; come posso ottenere l'errore di output ({"code":-4,"message":"Insufficient funds"}
) da Python?
Tutti i suggerimenti sono benvenuti!
Ti interessa accettare una delle risposte? – maxschlepzig