0

好吧,这是一个简单的问题,因为我真的不知道它叫什么..

假设我在 python 中有一个循环

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 之类的键盘键并让它执行诸如暂停循环、退出或执行任何操作之类的命令时,我该如何做到这一点?不像命令行参数,而是在实际程序运行时..

4

2 回答 2

1

使用Getch

请参阅Python 从用户读取单个字符

或者使用诅咒

于 2013-01-18T01:29:17.457 回答
1

你可以使用curses,这会有点复杂。

一个快速的破解方法是KeyboardInterrupt在 Python 中拦截 SIGINT (Ctrl-C, )。

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

除了违反对 Ctrl-C 行为的期望之外,这也没有提供一种明显的方式来重新启动事物。

于 2013-01-18T01:31:34.877 回答