我在unix上使用Pycharm。我正在尝试从控制台读取单个字符(如“y”或“n”)。它运行正常,当我在命令行上执行它时,但是当我在Pycharm中运行程序时,我收到以下错误:
termios.error:(25,'设备不适当的ioctl')
我知道,ide不是tty,但我没有找到解决方法。
这是我阅读角色的功能(似乎很标准)。
def getch():
import sys, tty, termios
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
tty.setraw(fd)
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
return ch
while True:
char = getch()
if char == 'q':
exit()
else:
print char