2017-03-15 9 views
1

이의 내가이 스크립트가 있다고 가정하자 :Python, 어떻게 중간에 스크립트를 중지 하시겠습니까?

import time 

def menu(): 
    n = raw_input("What do you want the script to do: ").lower() 
    if n == "run": 
     r = run() 
    elif n == "exit": 
     exit() 
    else: 
     print("Unknown command") 
    print("Result: " + r)  

def run(): 
    t = 0 
    while t < 60: 
     print("This script is doing some stuff") 
     time.sleep(1) 
     t = t + 1 
    return "Some kind of result" 

if __name__ == '__main__': 
    print("Starting the most useless script ever") 
    while True: 
     menu() 
를 인쇄하는 동안

가 어떻게 스크립트를 중지 할 수 있습니다 메뉴()로 돌아가 "이 스크립트는 몇 가지 물건을하고있다"? 나는 메뉴로 돌아 가기 위해 프로그램을 완전히 종료하고 싶지 않습니다.

+0

가지고 있어야 당신이 대화를 중지 할 것을 의미합니까? – TigerhawkT3

답변

1

이 따라 뭔가에 대해 무엇 :

while True: 
    try: 
     # whatever logic 
     pass 
    except(KeyboardInterrupt): 
     print 'Ctrl-C was pressed... interupt while loop.' 
     break 
print 'program still running' 
0

당신이 찾고있는 것은 신호 라이브러리는, 당신이 할 필요한 것은 그것을 처리하는 함수를 만드는 것입니다.

import signal 

def a(sig_num, stack_frame): 
    print("WORKS") 

signal.signal(signal.SIGINT,a) 

기능 a는 두 개의 위치 인수

+0

Ctrl + C를 사용하여 트리거를 신호 인터럽트, 즉 '신호. 신호. – chbchb55