美文网首页清风Python
监听用户退出程序,你的做法是青铜还是王者?

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

作者: 清风Python | 来源:发表于2020-12-07 00:56 被阅读0次

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

青铜级别
# 青铜
import sys

user_input = input("输入q,退出程序")
if user_input == 'q':
    sys.exit()

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

白银级别
# 白银
import msvcrt

user_input = msvcrt.getche()
if user_input.decode() == 'q':
    exit()

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

王者级别

# 王者
import msvcrt

quit_command = 'quit'
listening_str = ''
while True:
    user_input = msvcrt.getche()
    if isinstance(user_input, bytes):
        user_input = user_input.decode()
    if user_input == '\b':
        listening_str = listening_str[:-1]
    elif user_input in ['\n', '\r']:
        listening_str = ''
    else:
        listening_str += user_input
    print('listening_str now is: %s' % listening_str)
    if listening_str == quit_command:
        exit()

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


程序展示

让我们通过上图看下效果,简单执行几个场景的用例测试,均满足要求。有涉及到的用户退出监听的朋友们,快去感受下吧...
Tips:所有的用户监听操作,都不能直接在Pycharm下使用,会存在冲突,因为软件本身就是监听用户的一种哦...

The End

期待你关注我的公众号清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。
我的github地址:https://github.com/BreezePython

相关文章

  • 监听用户退出程序,你的做法是青铜还是王者?

    大家在写Python脚本时,经常会遇到用户交互的场景,然而其中不可或缺的一步就是告诉用户,输入某某键退出...那么...

  • RunLoop

    目的: 保证程序不退出 负责监听事件,监听iOS中所有的事件: 用户交互、时钟、网络事件 如果没有事件发生,程序进...

  • 用这个插件,帮你把 Web VS Code 变为 C/C++ I

    程序员也分青铜和王者。青铜只专注于埋头搬砖,王者致力于造轮子,为了更轻松地敲代码... 每一个想成为王者的程序员,...

  • 2022-09-30

    以为你是王者,其实你只是个青铜。

  • 你的团队是王者还是青铜(上)

    [https://insights.thoughtworks.cn/wp-content/uploads/2022...

  • 你的团队是王者还是青铜(下)

    我们接着上篇[https://www.jianshu.com/p/38b9d4dcc812]继续聊。 问题4:谁动...

  • runloop

    runloop: 保证程序不退出,负责监听事件,监听iOS的所有事件,触摸,时钟,网络事件。 如果没有事件会让程序...

  • (原创)王者还是青铜

    昨晚依常跑步,路遇一同龄美女。 刚开始以为对方是个青铜,一问之下,才知是个王者:跑龄已有三年,每天都在8公里以上,...

  • 恋爱中:你是王者还是青铜?

    每个人对于自己所喜爱的人和事物都是不可控的,当你喜欢上一个人的时候,总会忍不住的去偷偷想念,他的一言一行在你的眼中...

  • 你是青铜 他是王者

    凌晨三点,接到好友电话,压抑的啜泣呜咽声将我脑中的困顿清除。 好友粥粥,是典型的南方女孩,娇小精致的外表配一口...

网友评论

    本文标题:监听用户退出程序,你的做法是青铜还是王者?

    本文链接:https://www.haomeiwen.com/subject/tafzwktx.html