Sys.exit'i bir modül yardımıyla taklit etmek

arkadaşlar selamlar simdi sys modülünde sys.exit() diye bir kod var ve programdan çıkış yapmamızı sağlıyor simdi ben bir modül oluştursam deneme1.a desem programdan çıkış yapsa bunu nasıl yapabilirim ? veya yapabilrmiyim

Programdan çıkış yapmak için yine sys.exit()'i kullanırsınız. Yani kendi modülünüze sys modülünü dahil edersiniz, sys modülünün exit() metodunu kendi modülünüzde çağırırsınız.

hmm başka çaresi yok yani teşekkürler :slight_smile:

Mümkünse örnek gösterebilrimisiniiz ?

Ayrıca modülünüzü, sys modülünü dahil etmeden, exit() veya quit() yazarak da sonlandırabilirsiniz.

Örnek:

# a.py dosyasının içinde aşağıdaki kodlar bulunuyor olsun

while True:
    komut = input("Komut girin: ")
    if komut == "/çık":
       exit()
    elif komut == "/merhaba_de":
       print("merhaba")

Aslında demek istediğimiz bu değil mesela simdi sen sys.exit() i her yerde kullanabilirsin sen çık dediği zaman kullandın exiti ben öyle demiyorum mesela şöyle
print(“Selamlar”)
a.çık
dedim ve çıkıcak

O zaman şöyle yapabilirsiniz.
Diyelim a.py isimli bir dosyanız var. İçinde de aşağıdakiler yazılı olsun:

def cik():
    exit()

Sonra bu a.py dosyasını aynı dizinde bulunan b.py dosyası içinde kullanmak istediniz diyelim. O zaman a.cik()'i aşağıdaki gibi kullanabilirsiniz.

import a
a.cik()

Ama bütün bu işlemlere gerek yok çünkü exit() veya quit() yazdığınız zaman programdan çıkarsınız. Yani zaten çıkma işlemini yapacak komut tanımlanmış bir daha niye tanımlayasınız?

hayır bakın biliyorum sys modülü var exit modülü var fakat amacım yapılabiliyor mu diye sormak fakat gerçekten teşekkürler :slight_smile:

exit() bir modül değil. Ama sys bir modül.

import sys
print(type(sys))
print(type(sys.exit))
print(type(exit))

bakın tamam artık gidebilirsiniz exit modülü var derken yanlışlıkla söledim biliyorum modül olmadıgını import exit diye bişe yapmıyoruz ama çok bilmişlik yapanlarıda sevmiyorum kardeşim tamam yardımın dokundu ama sağol :slight_smile:

Çok bilmişlik yaptığım için özür dilerim o zaman. İyi geceler.

hayır dostum kusura bakma ama sende biliyosun modül demek istemediğimi modül yazmaya çalışan bir adam exite modül diyorsa zaten bıraksın bu işi yanlışlıkla söyledim ki yukarıda sende söylemişsin benden önce yanlışlık oldu işte :slight_smile: ama yardımın için tekrardan çok sağol

Hayır, modül demek istemediğinizi bilmiyordum, ki birisi çıkıp ister yanlışlıkla ister bilmediğinden exit’e modül de diyebilir. O modül değil derim olur biter. Sen bu işi bırak demem ama.

4 Beğeni

Yapmak istediğiniz pek açık değil, ben de anlamadım ilk okuyuşumda… Ama basit bir araştırma ile ulaşabilirdiniz çözüme.

import os
import signal

def exit_():
    os.kill(os.getpid(), signal.SIGKILL)

Arkadaşlar tartışmalarımızda nazik ve yapıcı olalım; aksini yapanlar uyarılacak ya da bir süreliğine uzaklaştırılacaktır. Bu konuya özen gösterdiğiniz için teşekkür ederim. :slight_smile:

1 Beğeni

Katılıyorum size, ben pythonu yeni öğrenmeye çalışan birisi olarak burada yazılanları takip ediyorum. Bu nedenle basit bir şey de olsa doğru şekilde ifade etmek lazım.

1 Beğeni