Tartalomjegyzék
Gyors linkek
A program befejezésének ismerete fontos, és különféle helyzetekben hasznos lehet. Például, ha egy egyszerű játékot hoz létre, akkor kiléphet bizonyos felhasználói bevitellel, vagy ha egy bizonyos feltétel teljesül. Fedezze fel a különbségeket a Python-programok leállításának három módja között.
1. A quit() vagy exit()
A Python-programok leállításának egyik legegyszerűbb módja a beépített metódusok, a quit() vagy az exit() használata. Ha a quit() vagy exit() parancsot meghívjuk, a program leáll.
A quit() és exit() függvény pontosan ugyanazt csinálja, csak egyéni preferencia kérdése, hogy melyiket használod.
Íme, hogyan használhatja a quit() függvényt egy Python program leállítására:
for num in range(10):
if num == 9:
quit()
print(num)
A fenti példaprogram 0 és 8 közötti egész számokat nyomtat a konzolon. Ha a szám 9, a program kilép. A quit() paranccsal kiléphet a Python integrált fejlesztési és tanulási környezetből (IDLE), amely lehetővé teszi Python-szkriptek interaktív futtatását.
Ne feledje, hogy a quit() és az exit() is a site modulra támaszkodik, ezért ne használja őket éles környezetben. A következő módszer, a sys.exit() jobb megoldás.
2. A sys.exit() használata
Amikor meghívja a sys.exit() függvényt a programban, a Python SystemExit kivételt vet fel. Elfogad egy opcionális argumentumot egy egész kilépési kód megadásához (alapértelmezés szerint 0). Olyan objektumot is átadhat, amely 1-es kilépési kódot eredményez, és az objektum karakterlánc-értékét szabványos hibával nyomtatja ki.
import sysfor num in range(10):
if num == 5:
sys.exit("You exited the program")
print(num)
A program kimenete a következő lesz:
A quit és exit metódusokhoz hasonlóan a sys.exit() is SystemExit kivételt vet fel. Ez azt jelenti, hogy meghívhatja a sys.exit()-et vagy emelheti a SystemExit()-et. Mindkettő elfogad egy opcionális érvet.
Ha nem érti a fenti kód működését, meg kell tanulnia a legfontosabb Python-függvényeket.
3. Az os._exit()
A programból való kilépés harmadik módja a speciális os._exit() metódus. Opcionális argumentumként megadhatja a kilépési állapotkódot. Az os._exit() az os modulból származik, és azonnal leállítja a folyamatot anélkül, hogy végrehajtaná a szokásos tisztítási tevékenységeket, amelyek akkor fordulnak elő, amikor egy Python-program kilép.
Mivel ez a funkció normál tisztítás nélkül kilép, csak különleges esetekben használja. Szerint a Python dokumentációjó példa erre a fork utáni gyermekfolyamat (egy új folyamat, amelyet az os.fork() segítségével hoztak létre).
Íme egy példa arra, hogyan használhatjuk az os._exit() függvényt egy program leállítására:
import os
import sysdef child_process():
print("Child process is running.")
os._exit(0)def main():
print("Parent process is running.")try:
pid = os.fork()if pid == 0:
child_process()
else:
print(f"Parent process is continuing with child process PID: {pid}")
except OSError as e:
print(f"Fork failed: {e}")
sys.exit(1)print("Parent process is done.")
if __name__ == "__main__":
main()
A fenti kód a következőket adja ki:
Melyik módszert használja a program leállítására a Pythonban?
A Python különféle módszereket kínál a programok leállítására. A legtöbb ilyen módszer azonban ugyanezt teszi. Ez csökkenti a döntéshozatal terhét, ha kilépési mechanizmust kell hozzáadnia a programhoz a Python tanulása során.
Összefoglalva, a sys.exit() a program Pythonban való leállítására szolgáló módszer. SystemExit kivételt vet fel egy opcionális kilépési kóddal.
A quit() és exit() metódusok megfelelőbbek a Python REPL használatakor. A termelés során kerülje ezeket, mert a helyszíni modultól függenek, amely nem mindig elérhető. Ritkán kell használnia az os._exit() függvényt, hacsak nem olyan kóddal dolgozik, amely elágazza a folyamatokat.