Her yerde araştırıyorum ve bunun nasıl yapılacağını anlamadım. Temel olarak kaçış düğmesine basarak çağrılan işlevler arasında herhangi bir zamanda beni tekrar menüye() götürecek basit bir CLI kurmaya çalışıyorum. Bu kurullarda yayınlanan birkaç çözümü/varyasyonu denediğimden, bunun benim için ne işe yaradığı konusunda, bunun ne kadar karmaşık olduğundan emin olamadığından emin değilim. Birinin beni doğru yönde gösterip gösteremeyeceğini merak ediyordum. Oldukça memnun olarak!İç içe geçmiş işlevler içinden kaçmak
ana döngü temelde tüm fonksiyonları çağırır ve aşağıdaki gibi görünür:
if __name__=='__main__':
while True:
command = raw_input("> ")
if command.lower() == 'exit':
quit()
continue
elif command.lower() == 'help':
menu()
continue
elif command.lower() == 'show':
show()
continue
elif command.lower() == 'find':
finder()
continue
else:
print("Not a valid command.")
ben döngü sırasında bulucu() fonksiyonu olarak adlandırılır ve aşağıdaki varsa şöyle bir örnek verilebilir:
def finder():
q = raw_input("Search for q: ")
for row in open("filename.csv"):
if q in row:
print row,
Giriş beni q için soruyorken menü() gibi başka bir işleve götürmek için çıkış tuşunu tetiklemek mümkün mü? İdeal olarak kaçış kodunun, ana döngü içinde zaten var olan her işlevde bir argüman oluşturmak yerine işlevlerin dışında var olmasını isterim. Bunu başarmanın kolay bir yolu olup olmadığını bilmiyorum.
'KeyboardInterrupt' yeterli olur mu? Yani ctrl-c –
Programdan çıkmaya zorlanıncaya kadar çalışıp çalışmadığından emin değilim. Programı tamamen kapatmadan başka bir işleve geri dönmenin bir yolunu arıyorum. Ama bunun için bir yol varsa tüm kulaklarım. – Exempt