Python get函数,python的get()

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: