2013-01-18 48 views
0

好吧,這是一個簡單的問題,因爲我真的不知道其所謂的..執行功能的同時運行腳本

說我有蟒蛇

if pattern in buffer: 
     while logme == "y": 
      logging.basicConfig(filename='hook.log',level=logging.DEBUG) 
      logging.debug("Pre-Encrypted: %s" % buffer) 
      print "Pre-Encrypted: %s" % buffer 
     else: 
      print "Pre-Encrypted: %s" % buffer 

一個循環我怎樣才能使它所以當我在循環運行時按下P這樣的鍵盤鍵並讓它執行像暫停循環,退出或做任何事情的命令?不一樣的命令行參數,但實際的程序運行時..

+0

我想你可能需要使用線程來保持循環的進行,同時在另一個線程中輸入,因爲'input()'和'raw_input()'都被阻塞了。 –

回答

1

你可以使用curses,這將是一個有點複雜。

圍繞它的一個快速入侵將是在Python中攔截SIGINT(Ctrl-C,KeyboardInterrupt)。

def foo(): 
    try: 
    long_running_process() 
    catch KeyboardInterrupt: 
    deal_with_interrupt() 

除了違反有關Ctrl-C行爲的期望之外,這也沒有提供重新啓動事物的明顯方法。