Τερματισμός μιας δέσμης ενεργειών Python

Γνωρίζω την εντολή die() στην PHP, η οποία σταματά ένα σενάριο νωρίς.

Πώς μπορώ να το κάνω αυτό στην Python;

Λύση
import sys
sys.exit()

λεπτομέρειες από την [τεκμηρίωση της ενότητας sys][exit]:

sys.exit([arg]) >Έξοδος από την Python. Αυτό υλοποιείται με την ανύψωση του [SystemExit][SystemExit] εξαίρεση, έτσι ώστε οι ενέργειες καθαρισμού που καθορίζονται από τις προτάσεις finally των δηλώσεων [`try][try] τηρούνται, και είναι δυνατή η αναχαίτιση της προσπάθεια εξόδου σε εξωτερικό επίπεδο. &gt,

Το προαιρετικό όρισμα arg μπορεί να είναι ένας ακέραιος που δίνει την κατάσταση εξόδου (με προεπιλογή μηδέν), ή άλλος τύπος αντικειμένου. Εάν είναι ακέραιος αριθμός, το μηδέν θεωρείται "επιτυχής τερματισμός" και κάθε μη μηδενική τιμή είναι θεωρείται "ανώμαλος τερματισμός" από τα κελύφη και τα παρόμοια. Τα περισσότερα συστήματα απαιτούν να είναι στην περιοχή 0-127 και παράγουν απροσδιόριστα αποτελέσματα διαφορετικά. Ορισμένα συστήματα έχουν μια σύμβαση για την ανάθεση συγκεκριμένων σε συγκεκριμένους κωδικούς εξόδου, αλλά αυτοί είναι γενικά Τα προγράμματα Unix χρησιμοποιούν γενικά το 2 για τη σύνταξη της γραμμής εντολών. και 1 για όλα τα άλλα είδη σφαλμάτων. Εάν ένας άλλος τύπος αντικειμένου περνάει, το None ισοδυναμεί με το μηδέν, και οποιοδήποτε άλλο αντικείμενο είναι εκτυπώνεται στο [stderr][stderr] και οδηγεί σε κωδικό εξόδου 1. Ειδικότερα, sys.exit("some error message") είναι ένας γρήγορος τρόπος για την έξοδο από ένα πρόγραμμα όταν εμφανίζεται ένα σφάλμα. &gt, Εφόσον η [`exit()][exit] τελικά "μόνο" δημιουργεί μια εξαίρεση, θα εξέλθει μόνο τη διεργασία όταν καλείται από το κύριο νήμα, και η εξαίρεση δεν είναι αναχαιτιστεί.

Σημειώστε ότι αυτός είναι ο 'ωραίος' τρόπος εξόδου. Το @glyphtwistedmatrix παρακάτω επισημαίνει ότι αν θέλετε μια 'σκληρή έξοδο', μπορείτε να χρησιμοποιήσετε την os._exit(errorcode), αν και'είναι πιθανότατα os-specific σε κάποιο βαθμό (μπορεί να μην δέχεται κωδικό σφάλματος κάτω από τα windows, για παράδειγμα), και σίγουρα είναι λιγότερο φιλικό, αφού δεν αφήνει τον διερμηνέα να κάνει καθάρισμα πριν πεθάνει η διεργασία.

[SystemExit]:https://docs.python.org/2/library/exceptions.html#SystemExit "SystemExit&quot, [try]:https://docs.python.org/2/reference/compound_stmts.html#try "try&quot, [stderr]:https://docs.python.org/2/library/sys.html#sys.stderr "sys.stderr&quot, [exit]:https://docs.python.org/2/library/constants.html#exit "exit&quot,

Σχόλια (7)
from sys import exit
exit()

Ως παράμετρος μπορείτε να περάσετε έναν κωδικό εξόδου, ο οποίος θα επιστραφεί στο λειτουργικό σύστημα. Η προεπιλογή είναι 0.

Σχόλια (2)