Python中,按任意键退出(Python, Press Any Key To Exit)

2019-06-26 21:39发布

所以,正如标题所说,我希望有一个正确的代码,收我的Python脚本。 到目前为止,我已经使用input('Press Any Key To Exit')但什么呢,是产生一个错误。 我想这只是关闭脚本不使用错误代码。

有没有人有一个想法? 谷歌给我的输入选项,但我不希望它关闭使用此错误:

Traceback (most recent call last):
  File "C:/Python27/test", line 1, in <module>
    input('Press Any Key To Exit')
  File "<string>", line 0

   ^
SyntaxError: unexpected EOF while parsing

Answer 1:

您是否尝试过raw_input() 这可能是因为您是通过得到一个语法错误input()的蟒蛇2.x中,它会尝试eval无论它得到。



Answer 2:

如果你是在Windows下,那么CMD pause命令应该工作,虽然写着“按任意键继续”

import os
os.system('pause')

而linux另一种方法是read ,一个很好的说明,可以发现这里



Answer 3:

我会在python劝阻平台特定的功能,如果你能避免它们,但你可以使用内置msvcrt模块。

from msvcrt import getch

junk = getch() # Assign to a variable just to suppress output. Blocks until key press.


Answer 4:

有点晚了比赛,但我几年前写了一个库做的正是这一点。 它暴露了既有pause()可自定义的消息功能和更广泛的,跨平台getch()的启发函数这个答案 。

与安装pip install py-getch ,并使用它像这样:

from getch import pause
pause()

这将打印'Press any key to continue . . .' 'Press any key to continue . . .' 默认情况下。 提供自定义消息:

pause('Press Any Key To Exit.')

为了方便起见,还配备了一个调用变种sys.exit(status)在一个单一的步骤:

pause_exit(0, 'Press Any Key To Exit.')

检查出来 。



Answer 5:

这里是一种按* nix上的任意键,而不显示键, 而不按返回结束。 (信贷的一般方法去的Python读取来自用户的单个字符 )。从闲逛SO,好像你可以使用msvcrt模块复制在Windows这一功能,但我没有它任意位置安装测试。 过评论,解释这是怎么回事?

import sys, termios, tty

stdinFileDesc = sys.stdin.fileno() #store stdin's file descriptor
oldStdinTtyAttr = termios.tcgetattr(stdinFileDesc) #save stdin's tty attributes so I can reset it later

try:
    print 'Press any key to exit...'
    tty.setraw(stdinFileDesc) #set the input mode of stdin so that it gets added to char by char rather than line by line
    sys.stdin.read(1) #read 1 byte from stdin (indicating that a key has been pressed)
finally:
    termios.tcsetattr(stdinFileDesc, termios.TCSADRAIN, oldStdinTtyAttr) #reset stdin to its normal behavior
    print 'Goodbye!'


Answer 6:

好吧,我在Linux Mint的17.1“蝴蝶梦”,我似乎已经想通了,正如你可能知道Linux Mint的自带安装Python,你不能更新也不能你在它上面安装另一个版本。 我发现,自带的Linux Mint的预装的蟒2.7.6版本,所以在2.7.6版本确定以下工作的意愿。 如果添加raw_input('Press any key to exit')它不会显示任何错误代码,但它会告诉你该程序退出,代码为0。例如,这是我的第一个程序。 MyFirstProgram 。 请记住,这是我的第一个程序,我知道它吮吸,但它是如何使用“按任意键退出”一个很好的例子BTW这也是我这个网站很抱歉,如果我格式化错上的第一篇文章。



Answer 7:

在Windows中:

if msvcrt.kbhit():
    if msvcrt.getch() == b'q':
        exit()


Answer 8:

据我知道有没有办法“按任意键”。 输入的raw_input和命令要求你按ENTER键。 (是的raw_input并不是一个Python 3.x的支持)



文章来源: Python, Press Any Key To Exit