Python - Programı Sonlandırma Kodu

Hayırlı günler dilerim,

Sorum tam olarak şu;

Programımdaki döngüler içerisinde exit komutu çalıştırmak istiyorum. Program 10 farklı döngüden oluşuyor diyelim. ben bunu her döngüde kullanıcının programdan çıkış yapabileceği bir hale getirip exit yazdığı zaman programdan çıkmasını istiyorum. Çarpıya basarak da programdan çıkabilir ama o zaman da arka planda işlemlerine devam eden veritabanı ve log kayıtlarını yarıda kesip dosyalar açık kalmış oluyor.

while döngüsünde kullanıcıdan user_select = None değişkeni kullanıcı tarafından “exit” yazıldığı zaman elif(user_select==“exit”):
olduğunda çalışacak uygulamayı kapatacak bir kod lazım.

Bilgisi olanların yardımcı olmasını çok isterim. Şimdiden teşekkürler.

1 Beğeni

Kullanıcının exit yazısını yazabileceği bir yer var mı? Bunu nereye yazacak? Kodlarınıza ve bu kodları çalıştırdığınız zaman oluşan grafiksel arayüzün neye benzediğine bir bakabilir miyiz?

1 Beğeni
while True:
        
        print("""
        ################################################################
                                HOSGLEDINIZ
        ################################################################
        
        GIRIS YAPMAK ICIN = 1
        KAYIT OLMAK ICIN = 2
        CIKIS YAPMAK ICIN = exit
        
        """)
        
        logdata.write("# {} TARIHINDE KULLANICIYA SECIMLER SUNULDU\n".format(datetime.now()))
        
        user_select = input("Seçiminiz")
        
        if(user_select=="1"):
            control.login_control(user_select)
            break
        elif(user_select=="2"):
            register.user_register(user_select)
            break
        elif(user_select="exit"):
            exit.close_program(user_select)
            break
        else:
            invalid.invalid_data(user_select)

bu kod bloğu programın içerisinde herhangi bir döngüde yer alan kısım. Pyqt5 arayüzü olmadan konsol üzerinden çalışıyor. iç içe döngüler de gerçekleşen her başarılı fonksiyonda break işleminden sonra bir üstteki döngüye devam eder ya da bir sonraki döngüye geçer ya işte benim istediğim şu kullanıcı nerede olursa olsun “exit” yazabileceği bir yerse eğer (ki her user_select değişkeni olan yerde bu mümkün olacak ve bunu her yee ekleyeceğim) programdan çıkış yapsın kapatsın

1 Beğeni

Yani döngü bir başka döngü içerisindeyse, break komutu içteki döngüyü durdurur, dıştaki döngüye geçersiniz. user_select, "exit"'e eşit olduğunda da programı exit() fonksiyonunu çağırarak kapatırsınız.
Mesela şöyle bir kod yapısı işinizi görüyor mu?

print("""
################################################################
                        HOŞGELDİNİZ
################################################################

GIRIS YAPMAK ICIN = 1
KAYIT OLMAK ICIN = 2
CIKIS YAPMAK ICIN = exit
""")

while True:                     
    user_select = input("Seçiminiz: ")          
    if user_select == "1":
        # control.login_control(user_select)
        continue
    elif user_select == "2":
        # register.user_register(user_select)
        continue
    elif user_select == "exit":
        # exit.close_program(user_select)
        exit()
    else:
        # invalid.invalid_data(user_select)
        progressed_second = 0
        continue

continue deyimlerini bu yazdığınız diğer kodlar bende olmadığı için özellikle ekledim, siz bu continue deyimlerini kaldırabilirsiniz. Mesela kullanıcı 1 seçeneğini seçtiğinde, control.login_control(user_select) fonksiyonu çalışır ve çalışma bittikten sonra döngünün başına tekrar dönülür.

2 Beğeni

teşekkürler deneyeceğim inş olumlu bir sonuçla dönerim buraya yardımınız için teşekkürler

1 Beğeni

“Program tanıtımları” etiketini geliştirdiğiniz bir programı tanıtacağınız zaman kullanırsanız daha iyi olur. Bir de neden “selenium” etiketini kullanmışsınız anlamadım.

2 Beğeni

Iyiden kotuye:

sys.exit(0)
raise SystemExit
os._exit(0)
exit()
quit()
3 Beğeni

yardımcı olduğunuz için hepinize tek tek teşekkür ederim. exit() komutum benim için yeterli oldu. bir sonraki sorumda görüşmek dileği ile

1 Beğeni

Bunu arıyordum teşekkürler