Übersetze Perl nach Python: tue dies oder stirb

8

Ich bewege ein Perl (von dem ich sehr wenig Ahnung habe) Skript nach Python.

%Vor%

Ich kann (hoffentlich) sehen, was diese Zeile tut, entweder die Variable 'path' auf die Umgebungsvariable 'SOME_NAME' setzen oder, wenn das fehlschlägt, dann eine Fehlermeldung an den Benutzer ausgeben. (Randnotiz: Wer weiß, wie man eine Suchmaschine nach Sonderzeichen wie '||' sucht?)

Ich habe versucht, es auf eine "pythonische" Weise zu implementieren (Einfacher nach Vergebung fragen als Erlaubnis) mit:

%Vor%

aber das scheint ziemlich umständlich, vor allem, weil ich es für 3 verschiedene Umgebungsvariablen mache.

Irgendwelche Ideen, wenn es eine bessere Umsetzung gibt oder würdest du sagen, dass dies der "pythonische" Weg ist?

Vielen Dank

    
Jdog 12.08.2011, 11:12
quelle

2 Antworten

11
%Vor%

Sie können mehr als eine Anweisung in einen try Block setzen.

    
Jacob 12.08.2011, 11:16
quelle
6

Was Sie dort haben, ist eigentlich ziemlich allgemein gesprochen und wohl das bevorzugte Muster. Oder Sie lassen einfach die normale Ausnahme passieren, ohne etwas extra zu drucken. Python hat nativ denselben Effekt. Also,

%Vor%

Wird nur eine KeyError-Ausnahme auslösen und das Standardverhalten ist das Beenden von nicht abgefangenen Ausnahmen. Das Traceback zeigt Ihnen was und wo.

Sie können jedoch auch einen Standardwert angeben, falls dies möglich ist.

%Vor%

Dies wird keinen Fehler verursachen und Sie können als Standardaktion etwas Sinnvolles tun.

    
Keith 12.08.2011 11:26
quelle

Tags und Links