Merhabalar arkadaşlar selamlar, Python üzerinden yazdığım bir script yardımı ile sonsuz döngü şeklinde bir listeden eleman yazdırma işlemi gerçekleştiriyorum. Bir keyboard listener kullanarak benim seçtiğim tuşa/tuş kombinasyonuna basıldığında programı sonlandırmak istiyorum ancak bunu nasıl yapacağımı bilmiyorum. Yardımcı olabilirseniz sevinirim. Teşekkürler…
#pip install keyboard
#linux kullanıyorsan sudo pip install keyboard
import keyboard
while True:
if keyboard.is_pressed("q"):
break
while True: #sonsuz döngü
print("forum.yazbel.coml")
Bunun hangi kısmına entegre etmeliyim?
Direkt kodun sonuna eklemek doğru olacak mıdır?
Öncelikle bu tarz bi soru yok kodun sorunlu olan kısmını atarsan daha mantıklı cevap alabilirsin.
son olarak kodu paylaşırken ctrl e ye basıp tırnak işaretlerinin arasına yazarsan güzel olur.
Mobilde olduğum için düzenleyememiştim şimdi güncelledim. İlk konum ve mesajlarım olduğu için mazur görünüz.
aynı mantık. yani while sürekli q tuşuna basılması için dönecek. q ya basılınca if e girip break çalışacak ve while duracak.
a = 1
while a == 1: #sonsuz döngü
if keyboard.is_pressed("q"):
print("forum.yazbel.coml")
break
Sonsuz döngü oluştururken a = 1 demene gerek yok while True: demen yeterli. hertürlü olur ama while True daha okunaklı olduğunu düşünüyorum.
while True: #sonsuz döngü
if keyboard.is_pressed("q"):
print("forum.yazbel.coml")
break
print’in if bloğunun dışında olması gerekmiyor mu? Bu doğru bir kullanım örneği olmuş mudur?
while True:
if keyboard.is_pressed("M") or keyboard.is_pressed("m"):
break
else:
print("forum.yazbel.com")
Ne yapmak istediğini bilmediğim için printi rastgele koydum. istersen class aç içinde yaz kafana göre.
valla hiç büyük fark kullanmadım. M olunca kod çalışmıyo. sebebini bilmiyorum.
if keyboard.is_pressed("M") or keyboard.is_pressed("m"):
mantık doğruda kod çalışmıyo
threading kütüphanesiyle bir thread oluşturup o thread’e bir key listener koyabilirsin. program normal çalışırken arkada başka bir threadde de key stroke dinler. istenen key’e bastığında programı sonlandırırsın.
muhtemelen daha iyi bir yolu vardır ama bilgim şu an buna yetti…
Seninde mantık doğru ama dediğin şekilde program kapanmaz. Threding kütüphanesi açıldımı içerden kapatamazsın. Processi kapatman gerekir.