最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?命令行界面的用戶交互及優(yōu)化

 更新時(shí)間:2023年11月06日 09:30:35   作者:三塊錢  
這篇文章主要為大家介紹了python?命令行界面的用戶交互及優(yōu)化方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

背景

說(shuō)一千,道一萬(wàn),程序是為用戶服務(wù)的,所以在程序運(yùn)行過(guò)程,與用戶交互以獲取用戶的信息輸入和決策確認(rèn),是無(wú)法避免的編程需要考慮和解決的需求。

一個(gè)簡(jiǎn)單的demo

如下的程序中,程序需要生成一個(gè)新的 id_rsa.pub 文件,但是不巧,程序的工作目錄下已經(jīng)存在了一個(gè) id_rsa.pub 文件。我們需要告知用戶并獲得用戶的決策指示,以便可以做出用戶希望的行為。

下面的代碼使用 input 向用戶發(fā)起交互:

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫(huà)板: 打印模板 = 打印模板(False)
    畫(huà)板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫(huà)板.消息('程序已經(jīng)開(kāi)始運(yùn)行...')
    畫(huà)板.消息('生成新的 id_rsa.pub 文檔...')
    用戶選擇 = input('此操作將會(huì)刪除原有文本,請(qǐng)問(wèn)是否繼續(xù)(y:繼續(xù); n:返回): ')
    if 用戶選擇:
        if 用戶選擇 in 'yY':
            畫(huà)板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
        elif 用戶選擇 in 'nN':
            畫(huà)板.消息(紅字('您選擇了返回,您是一個(gè)謹(jǐn)慎的人'))
        else:
            畫(huà)板.提示錯(cuò)誤('您輸入了非期望的指示')
    else:
        畫(huà)板.提示錯(cuò)誤('您沒(méi)有輸入任何值')

??上面的代碼中,我們提示用戶輸入決策,并對(duì)用戶輸入的決策進(jìn)行判斷和反饋:

  • 當(dāng)用戶輸入 y or Y 時(shí),程序反饋用戶,感謝信息
  • 當(dāng)用戶輸入 n or N 時(shí),程序反饋用戶,并中斷覆蓋文檔的損傷
  • 當(dāng)用戶沒(méi)有輸入時(shí),程序反饋用戶沒(méi)有輸入任何信息
  • 當(dāng)用戶輸入的值不在 y Y n N 范圍內(nèi)時(shí),提醒用戶輸入了非預(yù)期的值

優(yōu)化交互

命令行是一個(gè)主要以文本方程呈現(xiàn)信息的界面,這種界面下信息密度高,用戶操作的誤操作率也比較高,也就是說(shuō),我們需要容許用戶錯(cuò)誤和非法的輸入,并提供補(bǔ)救的機(jī)會(huì)。

以下代碼進(jìn)行了優(yōu)化,為用戶提供了補(bǔ)救的機(jī)會(huì):

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫(huà)板: 打印模板 = 打印模板(False)
    畫(huà)板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫(huà)板.消息('程序已經(jīng)開(kāi)始運(yùn)行...')
    畫(huà)板.消息('生成新的 id_rsa.pub 文檔...')
    確認(rèn)覆蓋: bool = False
    while True:
        用戶選擇 = input('此操作將會(huì)刪除原有文本,請(qǐng)問(wèn)是否繼續(xù)(y:繼續(xù); n:返回): ')
        if 用戶選擇:
            if 用戶選擇 in 'yY':
                畫(huà)板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
                確認(rèn)覆蓋 = True
                break
            elif 用戶選擇 in 'nN':
                畫(huà)板.消息(紅字('您選擇了返回,您是一個(gè)謹(jǐn)慎的人'))
                確認(rèn)覆蓋 = False
                break
            else:
                畫(huà)板.提示錯(cuò)誤('您輸入了非期望的指示')
        else:
            畫(huà)板.提示錯(cuò)誤('您沒(méi)有輸入任何值')
    if 確認(rèn)覆蓋:
        pass
    else:
        pass

??以上代碼中,我們將用戶輸入的input邏輯和判斷邏輯放入一個(gè) while 循環(huán)中,并在用戶輸入非法時(shí),循環(huán)提示用戶輸入,直到用戶輸入了預(yù)期的信息。

效果如下:

通過(guò)使用 while True 循環(huán),我們?yōu)橛脩籼峁┝搜a(bǔ)救的機(jī)會(huì),提高了交互的使用體驗(yàn)和健壯性。

邏輯封裝

以上所設(shè)計(jì)的用戶交互邏輯,在 DebugInfo 模塊中已經(jīng)進(jìn)行了封裝,可以通過(guò) 交互接口類 使用封裝好的功能。

如下是使用 DebugInfo.交互接口類 實(shí)現(xiàn)的用戶交互邏輯的代碼:

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫(huà)板: 打印模板 = 打印模板(False)
    畫(huà)板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫(huà)板.消息('程序已經(jīng)開(kāi)始運(yùn)行...')
    畫(huà)板.消息('生成新的 id_rsa.pub 文檔...')
    # 要求用戶確認(rèn)是否繼續(xù)
    用戶選擇 = 交互端.發(fā)起文本交互(輸入提示='此操作將會(huì)刪除原有文本,請(qǐng)問(wèn)是否繼續(xù)(y:繼續(xù); n:返回)',限定范圍='yYnN',畫(huà)板=畫(huà)板.副本)
    if 用戶選擇 in 'yY':
        畫(huà)板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
    elif 用戶選擇 in 'nN':
        畫(huà)板.消息(紅字('您選擇了返回,您是一個(gè)謹(jǐn)慎的人'))

??以上代碼中,我們通過(guò)使用 用戶選擇 = 交互端.發(fā)起文本交互(輸入提示='此操作將會(huì)刪除原有文本,請(qǐng)問(wèn)是否繼續(xù)(y:繼續(xù); n:返回)',限定范圍='yYnN',畫(huà)板=畫(huà)板.副本) 發(fā)起與用戶的交互,并指定了用戶輸入反饋的范圍是 ‘yYnN’,然后我們只需要等待用戶交互完成后確認(rèn)用戶的決策就好了,下面是運(yùn)行的效果:

??上面的運(yùn)行效果中,我們發(fā)現(xiàn)當(dāng)用戶輸入非預(yù)期的值時(shí),程序還善意的提醒了用戶需要輸入的字符范圍,避免了用戶手足無(wú)措的尷尬。

小結(jié)

以上就是今天分享的 DebugInfo 模塊提供的 交互接口類 的用戶交互功能了,更多關(guān)于python 命令行界面用戶交互的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • POC漏洞批量驗(yàn)證程序Python腳本編寫(xiě)

    POC漏洞批量驗(yàn)證程序Python腳本編寫(xiě)

    這篇文章主要為大家介紹了POC漏洞批量驗(yàn)證程序Python腳本編寫(xiě)的完整示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Python修改MP3文件的方法

    Python修改MP3文件的方法

    這篇文章主要介紹了Python修改MP3文件的方法,可實(shí)現(xiàn)刪除MP3中圖片文件的功能,需要的朋友可以參考下
    2015-06-06
  • python tqdm庫(kù)的使用

    python tqdm庫(kù)的使用

    這篇文章主要介紹了python tqdm庫(kù)的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • 關(guān)于python實(shí)現(xiàn)常用的相似度計(jì)算方法

    關(guān)于python實(shí)現(xiàn)常用的相似度計(jì)算方法

    這篇文章主要介紹了關(guān)于python實(shí)現(xiàn)常用的相似度計(jì)算方法,最初的相似度計(jì)算是為了表征向量的重合程度的,在這里最經(jīng)典的就是余弦相似度了,當(dāng)然使用正弦或者是正切等等三角函數(shù)也都是可以的,需要的朋友可以參考下
    2023-07-07
  • matlab xlabel位置的設(shè)置方式

    matlab xlabel位置的設(shè)置方式

    這篇文章主要介紹了matlab xlabel位置的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python結(jié)合FFmpeg實(shí)現(xiàn)批量提取視頻音頻

    Python結(jié)合FFmpeg實(shí)現(xiàn)批量提取視頻音頻

    在日常開(kāi)發(fā)或音頻處理場(chǎng)景中,我們經(jīng)常需要從大量視頻文件中批量提取音頻,本文介紹一種 使用 Python 調(diào)用 FFmpeg 的通用方案,同時(shí)支持 Windows、macOS 和 Linux,有需要的小伙伴可以了解下
    2026-01-01
  • python線程啟動(dòng)的四種方式總結(jié)

    python線程啟動(dòng)的四種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于python線程啟動(dòng)的四種方式,線程可以完成一定任務(wù),可以和其它線程共享父進(jìn)程的共享變量和部分環(huán)境,相互協(xié)作來(lái)完成任務(wù),需要的朋友可以參考下
    2024-01-01
  • pyautogui庫(kù)的使用及說(shuō)明

    pyautogui庫(kù)的使用及說(shuō)明

    PyAutoGUI實(shí)現(xiàn)鼠標(biāo)鍵盤自動(dòng)化控制,支持移動(dòng)、點(diǎn)擊、熱鍵、輸入等操作,提供截圖定位、消息框功能,適用于自動(dòng)化任務(wù)及界面交互
    2025-09-09
  • python基于機(jī)器學(xué)習(xí)預(yù)測(cè)股票交易信號(hào)

    python基于機(jī)器學(xué)習(xí)預(yù)測(cè)股票交易信號(hào)

    近年來(lái),隨著技術(shù)的發(fā)展,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)在金融資產(chǎn)量化研究上的應(yīng)用越來(lái)越廣泛和深入。目前,大量數(shù)據(jù)科學(xué)家在Kaggle網(wǎng)站上發(fā)布了使用機(jī)器學(xué)習(xí)/深度學(xué)習(xí)模型對(duì)股票、期貨、比特幣等金融資產(chǎn)做預(yù)測(cè)和分析的文章。本文就來(lái)看看如何用python預(yù)測(cè)股票交易信號(hào)
    2021-05-05
  • python利用 pytesseract快速識(shí)別提取圖片中的文字((圖片識(shí)別)

    python利用 pytesseract快速識(shí)別提取圖片中的文字((圖片識(shí)別)

    本文介紹了tesseract的python調(diào)用,也就是pytesseract庫(kù),其中還有一些其他的內(nèi)容并沒(méi)有涉及,僅涉及到了圖片提取文字,如果你對(duì)其感興趣,可以深入探索一下,也希望能和我探討一下
    2022-11-11

最新評(píng)論

仁怀市| 和顺县| 绿春县| 安岳县| 富锦市| 施甸县| 富裕县| 项城市| 洞口县| 商河县| 大关县| 拜城县| 扶余县| 临城县| 原平市| 平塘县| 辉县市| 平山县| 游戏| 陕西省| 松溪县| 阿城市| 深泽县| 松潘县| 山西省| 双桥区| 阿拉善右旗| 彭泽县| 南京市| 佛坪县| 会同县| 临洮县| 塔河县| 炎陵县| 莒南县| 永寿县| 邢台市| 额济纳旗| 丹凤县| 长治县| 米林县|