欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中使用異常處理來判斷運(yùn)行的操作系統(tǒng)平臺方法

 更新時(shí)間:2015年01月22日 12:02:50   投稿:junjie  
這篇文章主要介紹了Python中使用異常處理來判斷運(yùn)行的操作系統(tǒng)平臺方法,這個(gè)方法比較新穎,,需要的朋友可以參考下

代碼實(shí)例:

復(fù)制代碼 代碼如下:

try:
    import termios, TERMIOS               1
except ImportError:
    try:
        import msvcrt                  2
    except ImportError:
        try:
            from EasyDialogs import AskPassword   3
        except ImportError:
            getpass = "default_getpass"        4
        else:
            getpass = "AskPassword"          5
    else:
        getpass = "win_getpass"
else:
    getpass = "unix_getpass"

1:termios 是 UNIX 獨(dú)有的一個(gè)模塊,它提供了對于輸入終端的底層控制。如果這個(gè)模塊無效 (因?yàn)樗辉谀愕南到y(tǒng)上,或你的系統(tǒng)不支持它),則導(dǎo)入失敗,Python 引發(fā)我們捕捉的 ImportError 異常。

2:OK,我們沒有 termios,所以讓我們試試 msvcrt,它是 Windows 獨(dú)有的一個(gè)模塊,可以提供在 Microsoft Visual C++ 運(yùn)行服務(wù)中的許多有用的函數(shù)的一個(gè)API。如果導(dǎo)入失敗,Python 會引發(fā)我們捕捉的 ImportError 異常。

3:如果前兩個(gè)不能工作,我們試著從 EasyDialogs 導(dǎo)入一個(gè)函數(shù),它是 Mac OS 獨(dú)有的一個(gè)模塊,提供了各種各樣類型的彈出對話框。再一次,如果導(dǎo)入失敗,Python 會引發(fā)一個(gè)我們捕捉的 ImportError 異常。

4:這些平臺特定的模塊沒有一個(gè)有效 (有可能,因?yàn)?Python 已經(jīng)移植到了許多不同的平臺上了),所以我們需要回頭使用一個(gè)缺省口令輸入函數(shù) (這個(gè)函數(shù)定義在 getpass 模塊中的別的地方)。注意我們在這里所做的:我們將函數(shù) default_getpass 賦給變量 getpass。如果你讀了官方 getpass 文檔,它會告訴你 getpass 模塊定義了一個(gè) getpass 函數(shù)。它是這樣做的:通過綁定 getpass 到正確的函數(shù)來適應(yīng)你的平臺。然后當(dāng)你調(diào)用 getpass 函數(shù)時(shí),你實(shí)際上調(diào)用了平臺特定的函數(shù),是這段代碼已經(jīng)為你設(shè)置好的。你不需要知道或關(guān)心你的代碼正運(yùn)行在何種平臺上;只要調(diào)用 getpass,則它總能正確處理。

5:一個(gè) try...except 塊可以有一條 else 子句,就像 if 語句。如果在 try 塊中沒有異常引發(fā),然后 else 子句被執(zhí)行。在本例中,那就意味著如果 from EasyDialogs import AskPassword 導(dǎo)入可工作,所以我們應(yīng)該綁定 getpass 到 AskPassword 函數(shù)。其它每個(gè) try...except 塊有著相似的 else 子句,當(dāng)我們發(fā)現(xiàn)一個(gè) import 可用時(shí),就綁定 getpass 到適合的函數(shù)。

相關(guān)文章

  • python opencv實(shí)現(xiàn)圖像配準(zhǔn)與比較

    python opencv實(shí)現(xiàn)圖像配準(zhǔn)與比較

    這篇文章主要為大家詳細(xì)介紹了python opencv實(shí)現(xiàn)圖像配準(zhǔn)與比較,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼

    Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼

    這篇文章主要介紹了Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)用庫 PrettyTable 學(xué)習(xí)筆記

    Python實(shí)用庫 PrettyTable 學(xué)習(xí)筆記

    這篇文章主要介紹了Python實(shí)用庫 PrettyTable 學(xué)習(xí)筆記,結(jié)合實(shí)例形式分析了Python表格操作庫PrettyTable的安裝、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • python psutil模塊使用方法解析

    python psutil模塊使用方法解析

    這篇文章主要介紹了python psutil模塊使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python異常之常見的Bug類型解決方法

    Python異常之常見的Bug類型解決方法

    這篇文章主要介紹了Python異常之常見的Bug類型解決方法,主要分享一些粗心導(dǎo)致和知識不熟練導(dǎo)致的語法錯(cuò)誤以及被迫掉坑等內(nèi)容,文章介紹非常詳細(xì)需要的小伙伴可以參考一下
    2022-03-03
  • 解決90%的常見問題的8個(gè)python NumPy函數(shù)

    解決90%的常見問題的8個(gè)python NumPy函數(shù)

    這篇文章主要為大家介紹了解決90%的常見問題的8個(gè)python NumPy函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python探索之爬取電商售賣信息代碼示例

    Python探索之爬取電商售賣信息代碼示例

    這篇文章首先簡單介紹了網(wǎng)絡(luò)爬蟲的基本概念,然后向大家分享了一段有關(guān)爬取電商售賣信息的實(shí)例代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • python sklearn中的決策樹模型詳解

    python sklearn中的決策樹模型詳解

    本文主要說明 Python 的 sklearn 庫中的決策樹的常用接口、屬性以及參數(shù)調(diào)優(yōu)說明,需要讀者或多或少了解過sklearn庫和一些基本的機(jī)器學(xué)習(xí)知識,感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • python web框架學(xué)習(xí)筆記

    python web框架學(xué)習(xí)筆記

    這篇文章主要為大家分享了python web框架學(xué)習(xí)筆記,感興趣的小伙伴們可以參考一下
    2016-05-05
  • python日志模塊logbook使用方法

    python日志模塊logbook使用方法

    python自帶了日志模塊logging,可以用來記錄程序運(yùn)行過程中的日志信息。這篇文章主要介紹了python logbook使用方法,需要的朋友可以參考下
    2019-09-09

最新評論