日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
提示用戶退出程序,你的做法是青銅還是王者?

大家在寫Python腳本時,經(jīng)常會遇到用戶交互的場景,然而其中不可或缺的一步就是告訴用戶,輸入某某鍵退出...那么,今天就來盤點下,有哪些實現(xiàn)退出場景的方式吧。

青銅級別

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

使用input來判斷用戶輸入的方式,應該是最low的了吧?不僅需要輸入,還需要用戶敲擊回車,才能夠完成參數(shù)獲取...適合Python入門一周的小選手。

白銀級別

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

msvcrt模塊允許您訪問Microsoft Visual C / C ++運行時庫(MSVCRT)中的許多函數(shù),可以動態(tài)監(jiān)聽單個char字符,然后返回byte字節(jié)。所以當你的退出不是單個字符,而是字符串時,還需要進一步封裝...

王者級別

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

我們通過一個while循環(huán)實時監(jiān)控用戶的輸入,當用戶回車時,清空字符串緩存。并且支持了用戶的刪除退格操作操作。相比于前兩者僅支持單次判定更提升了功能。來看看下圖的測試示例:

讓我們通過上圖看下效果,簡單執(zhí)行幾個場景的用例測試,均滿足要求。有涉及到的用戶退出監(jiān)聽的朋友們,快去感受下吧...

Tips:所有的用戶監(jiān)聽操作,都不能直接在Pycharm下使用,會存在沖突,因為軟件本身就是監(jiān)聽用戶的一種哦...


文章標題:提示用戶退出程序,你的做法是青銅還是王者?
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdhphcs.html