文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

提示用户退出程序,你的做法是青铜还是王者?

2024-12-03 16:19

关注

大家在写Python脚本时,经常会遇到用户交互的场景,然而其中不可或缺的一步就是告诉用户,输入某某键退出...那么,今天就来盘点下,有哪些实现退出场景的方式吧。

青铜级别

  1. # 青铜 
  2. import sys 
  3.  
  4. user_input = input("输入q,退出程序"
  5. if user_input == 'q'
  6.     sys.exit() 

使用input来判断用户输入的方式,应该是最low的了吧?不仅需要输入,还需要用户敲击回车,才能够完成参数获取...适合Python入门一周的小选手。

白银级别

  1. # 白银 
  2. import msvcrt 
  3.  
  4. user_input = msvcrt.getche() 
  5. if user_input.decode() == 'q'
  6.     exit() 

msvcrt模块允许您访问Microsoft Visual C / C ++运行时库(MSVCRT)中的许多函数,可以动态监听单个char字符,然后返回byte字节。所以当你的退出不是单个字符,而是字符串时,还需要进一步封装...

王者级别

  1. # 王者 
  2. import msvcrt 
  3.  
  4. quit_command = 'quit' 
  5. listening_str = '' 
  6. while True
  7.     user_input = msvcrt.getche() 
  8.     if isinstance(user_input, bytes): 
  9.         user_input = user_input.decode() 
  10.     if user_input == '\b'
  11.         listening_str = listening_str[:-1] 
  12.     elif user_input in ['\n''\r']: 
  13.         listening_str = '' 
  14.     else
  15.         listening_str += user_input 
  16.     print('listening_str now is: %s' % listening_str) 
  17.     if listening_str == quit_command: 
  18.         exit() 

我们通过一个while循环实时监控用户的输入,当用户回车时,清空字符串缓存。并且支持了用户的删除退格操作操作。相比于前两者仅支持单次判定更提升了功能。来看看下图的测试示例:


让我们通过上图看下效果,简单执行几个场景的用例测试,均满足要求。有涉及到的用户退出监听的朋友们,快去感受下吧...

Tips:所有的用户监听操作,都不能直接在Pycharm下使用,会存在冲突,因为软件本身就是监听用户的一种哦...

 

来源:清风Python内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯