我正在尝试使用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 上的回答 从用户那里读取单个字符