Я искал везде и не понял, как это сделать. В основном я пытаюсь настроить простой CLI, где в любой момент времени в вызываемых функциях нажатие кнопки escape вернет меня в меню(). Не уверен, насколько сложно это выполнить, поскольку я попытался несколько решений/вариантов, размещенных на этих досках, ни один из которых не работал для меня. Интересно, может ли кто-нибудь указать мне в правильном направлении. Очень ценим!Экранирование вложенных функций
Основной цикл в основном вызывает все функции и выглядит следующим образом:
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.")
Примером может быть, если бы я назвал функцию искателя() во время цикла и я следующее:
def finder():
q = raw_input("Search for q: ")
for row in open("filename.csv"):
if q in row:
print row,
Можно ли вызвать ключ эвакуации, чтобы передать мне другую функцию, такую как menu(), в то время как вход запрашивает у меня q? В идеале я бы хотел, чтобы escape-код существовал вне функций вместо создания аргумента в каждой функции, которая уже существует внутри основного цикла. Я не знаю, есть ли простой способ сделать это.
Достаточно ли «KeyboardInterrupt»? То есть ctrl-c –
Я не уверен, что это сработает, так как он выйдет из программы. Я просто ищу способ вернуться к другой функции, не закрывая программу полностью. Но я все уши, если есть способ сделать это с этим. – Exempt