程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从同一行上的 msvcrt.getch() 获取输入后没有打印输出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从同一行上的 msvcrt.getch() 获取输入后没有打印输出?

开发过程中遇到从同一行上的 msvcrt.getch() 获取输入后没有打印输出的问题如何解决?下面主要结合日常开发的经验,给出你关于从同一行上的 msvcrt.getch() 获取输入后没有打印输出的解决方法建议,希望对你解决从同一行上的 msvcrt.getch() 获取输入后没有打印输出有所启发或帮助;

目标

  • 从同一行获取用户输入的单个字符,无需按 ENTER
  • 在用户选择选项后打印。

代码

import msvcrt

print("Overwrite? (y/n): ",end="",flush=TruE)
res = msvcrt.getch()

if reS.Upper() == 'Y':
    print("The file has been overwritten.")

目前,我在程序中输入 y 后不会打印下面的打印语句。

print("The file has been overwritten.")

解决方法

事实证明,@H_490_8@msvcrt.getch() 将返回 bytes 类型而不是 str,因此您必须在尝试检查其值之前将输入解码为 utf-8

import msvcrt

print("Overwrite? (y/n): ",end="",flush=TruE)
res = msvcrt.getch().decode('utf-8')

if reS.Upper() == 'Y':
    print("The file has been overwritten.")

大佬总结

以上是大佬教程为你收集整理的从同一行上的 msvcrt.getch() 获取输入后没有打印输出全部内容,希望文章能够帮你解决从同一行上的 msvcrt.getch() 获取输入后没有打印输出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。