日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

青銅級(jí)別

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

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

白銀級(jí)別

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

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

王者級(jí)別

 
 
 
 
  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()

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

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

Tips:所有的用戶監(jiān)聽(tīng)操作,都不能直接在Pycharm下使用,會(huì)存在沖突,因?yàn)檐浖旧砭褪潜O(jiān)聽(tīng)用戶的一種哦...


分享名稱:提示用戶退出程序,你的做法是青銅還是王者?
標(biāo)題路徑:http://m.5511xx.com/article/cdhphcs.html