按任意键继续(Python,跨平台解决方案)



我正在尝试使用Python 2.7.x在Linux/Mac/Windows机器上创建脚本的一种行为。

在此线程的一点帮助下:

  • https://stackoverflow.com/a/7259460/2786370
  • https://stackoverflow.com/a/11877308/2786370

我可以达到预期的结果:通过按任何键脚本将退出。

但也许有更好的方法可以做到这一点?有人可以帮我吗?

谢谢!

#!/usr/bin/env python2.7
import os
import sys
def wait_for_press():
    if sys.platform == 'win32':
        os.system("pause")
    elif sys.platform in ('linux2', 'darwin'):
        import termios
        import tty
        print "Press any key to continue..."
        stdin_file_desc = sys.stdin.fileno()
        old_stdin_tty_attr = termios.tcgetattr(stdin_file_desc)
        try:
            tty.setraw(stdin_file_desc)
            sys.stdin.read(1)
        finally:
            termios.tcsetattr(stdin_file_desc, termios.TCSADRAIN, old_stdin_tty_attr)
if __name__ == "__main__":
    wait_for_press()

哎呀。为什么有特定于操作系统的代码?如果有人使用"linux3"会发生什么?您可能正在寻找诅咒库。

参考 nachik 在 Python 上的回答 从用户那里读取单个字符

相关内容

  • 没有找到相关文章

最新更新