Wie fange ich Ausnahmeausgabe von Python subprocess.check_output ()?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie fange ich Ausnahmeausgabe von Python subprocess.check_output ()?

by Anonymous » 06 Apr 2025, 23:40

Ich versuche, eine Bitcoin -Zahlung aus Python zu leisten. In Bash würde ich dies normalerweise tun: < /p>

Code: Select all

bitcoin sendtoaddress  
< /code>
Also zum Beispiel: < /p>
bitcoin sendtoaddress 1HoCUcbK9RbVnuaGQwiyaJGGAG6xrTPC9y 1.4214
< /code>
Wenn es erfolgreich ist, erhalte ich eine Transaktions-ID als Ausgabe, aber wenn ich versuche, einen Betrag zu überweisen, der größer als mein Bitcoin-Gleichgewicht ist, erhalte ich die folgende Ausgabe: < /p>
error: {"code":-4,"message":"Insufficient funds"}
< /code>
In meinem Python -Programm versuche ich jetzt, die Zahlung wie folgt zu leisten: < /p>
import subprocess

try:
output = subprocess.check_output(['bitcoin', 'sendtoaddress', address, str(amount)])
except:
print "Unexpected error:", sys.exc_info()
Wenn es genügend Gleichgewicht gibt, funktioniert es gut, aber wenn nicht genügend Gleichgewichtsbilanz vorhanden ist sys.exc_info () druckt dies aus:

Code: Select all

(, CalledProcessError(), )
< /code>
Es enthält nicht den Fehler, den ich in die Befehlszeile bekomme. Meine Frage ist also; Wie kann ich den ausgegebenen Fehler erhalten?{"code":-4,"message":"Insufficient funds"}
) von innerhalb von Python?

Top