3 módszer a program leállítására Pythonban

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.

  iPhone töltése az új MacBook Pro segítségével

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 sys 

for 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.

  10 cURL parancshasználat valós idejű példával

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 sys

def 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:

  A 7 legjobb Bug Bounty platform szervezetek számára a biztonság javítására

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.