Python get函数,python的get()
原始代码为
class _Getch:
" " getsasinglecharacterfromstandardinput。doesnotechoto
屏幕。
def __init__(self):
尝试:
self.impl=_GetchWindows()
除了导入错误:
self.impl=_GetchUnix(
def _ _ call _ _(self):回归自我。实施(
class _GetchUnix:
def __init__(self):
导入tty,系统
def __call__(self):
导入系统、tty、termios
fd=sys.stdin.fileno(
旧设置=术语IOs。tcgetattr(FD)
尝试:
ty.setraw(sys.stdin.Fileno)))
ch=sys.stdin.read(1))。
最后:
Termios.tcsetattr(FD,Termios .TCSADRAIN,old_settings)。
返回通道
class _GetchWindows:
def __init__(self):
导入运行时库
def __call__(self):
导入运行时库
返回msvcrt.getch(
getch=_Getch()
使用的时候可以这样使用。例如,您不仅可以在屏幕上显示输入时输入的字符(如input()),还可以在输入时对每个字符执行操作,最后按回车键结束输入
导入系统
ss=
虽然正确:
s=Getch()
请注意,如果s==\r: #回车键是\r,而不是\n
布莱克
打印(s,end= )
sys.stdout.flush(#如果不刷新缓冲区,它将不会显示在屏幕上
ss=s
print())
是打印(不锈钢)
也可以加入到班级里
def __str__(self):
返回return self.impl #的实际是字符串
然后用:
str=str(_getch ) #自动调用_ _ str _ _ (self)方法
然后我的简化魔改版了
defgetch(:
def _GetchUnix():
导入系统、tty、termios
fd=sys.stdin.fileno(
旧设置=术语IOs。tcgetattr(FD)
尝试:
ty.setraw(sys.stdin.Fileno)))
ch=sys.stdin.read(1))。
最后:
Termios.tcsetattr(FD,Termios .TCSADRAIN,old_settings)。
返回通道
def _GetchWindows():
导入运行时库
返回msvcrt.getch(
尝试:
impl=_GetchWindows()
除了导入错误:
impl=_GetchUnix()
返回导入
用:
str=Getch()
好的
魔改精简版2
在前面的代码中,如果将Getch))放入循环中,则无法使用上下左右键来控制光标的移动。这有点惊讶,但我不希望
类获取() :
def __init__(self):
尝试:
self.impl=自我._GetchWindows(
除了导入错误:
self.impl=自我._GetchUnix(
def __str__(self):
返回self.impl
def_getchunix(self):
导入系统、tty、termios
fd=sys.stdin.fileno(
旧设置=术语IOs。tcgetattr(FD)
尝试:
ty.setraw(sys.stdin.Fileno)))
ch=sys.stdin.read(1))。
最后:
Termios.tcsetattr(FD,Termios .TCSADRAIN,old_settings)。
返回通道
def_getchwindows(self):
导入运行时库
返回msvcrt.getch(
使用
导入系统
ss=
虽然正确:
s=Getch()
s=str(Getch))
if s==\r :
布莱克
打印(s,end= )
sys.stdout.flush(
ss=s
方法使用从控制台读取一个字符库
这是一个类似于窗子上conio.h的获取()函数的库
https://pypi.org/project/getch/
这个问题的原因是使用传输控制协议连接通信,在终端输入一句话的时候,如果只输入了一半,就会突然收到对方的信息,从光标处打印到画面上,我输入的话就会被中断。
我查了很多页面,不知道从控制台读取一个字符之类的东西,学习c语言的时候,一点也不知道,很差劲。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。