中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中getpass模塊無回顯輸入的示例分析

發布時間:2021-08-02 09:58:53 來源:億速云 閱讀:188 作者:小新 欄目:開發技術

這篇文章主要介紹了Python中getpass模塊無回顯輸入的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

getpass模塊

getpass.getpass(prompt='Password: ‘, stream=None)

調用該函數可以在命令行窗口里面無回顯輸入密碼。參數prompt代表提示字符串,默認是'Password: ‘。在Unix系統中,stream默認為當前控制的終端。在Windows系統里stream參數會被忽略掉,默認使用stdin。如果無法正常使用getpass,會打印錯誤信息,然后模塊會使用有回顯的模式讀取數據。

>>> import getpass
>>> passwd = getpass.getpass()
Password:
>>> print(passwd)
ganziqim

getpass.getuser()

返回當前用戶名。這個函數會按順序檢查環境變量LOGNAME, USER, LNAME和USERNAME。返回第一個非空的值。如果檢查不到非空的值,模塊會嘗試導入pwd模塊,如果系統支持pwd模塊,會返回通過pwd模塊獲取的用戶名,否則報錯。

>>> getpass.getuser()
'ganzi'

一些細節

1.getpass模塊內部其實實現了unix_getpass、win_getpass和fallback_getpass三個函數。在模塊被導入之后會首先對用戶使用的系統進行檢查,將相應的函數賦值給getpass。如果檢查失敗,則將fallback_getpass賦值給getpass。

2.win_getpass使用msvcrt.getwch()獲取無回顯輸入。

3.fallback_getpass不僅在一開始檢查系統的時候被調用,當另外兩個函數出現錯誤的時候也會調用它。而調用了fallback_getpass又會先打印錯誤信息,然后再調用模塊內部的_raw_input函數進行有回顯的輸入讀取。

這個是寫在模塊底部的系統檢查代碼:

try:
  import termios
  termios.tcgetattr, termios.tcsetattr
except (ImportError, AttributeError):
  try:
    import msvcrt
  except ImportError:
    getpass = fallback_getpass
  else:
    getpass = win_getpass
else:
  getpass = unix_getpass

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中getpass模塊無回顯輸入的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若羌县| 上杭县| 彰化县| 沂源县| 高密市| 内丘县| 紫阳县| 兴隆县| 民勤县| 通城县| 锡林郭勒盟| 富顺县| 北宁市| 保山市| 宜都市| 古浪县| 分宜县| 米易县| 呼图壁县| 胶南市| 潜江市| 阜平县| 邓州市| 拉萨市| 行唐县| 巴彦县| 乌兰察布市| 南靖县| 泰来县| 谢通门县| 盐津县| 谷城县| 顺平县| 尼玛县| 东阿县| 宁安市| 江口县| 横峰县| 西吉县| 胶州市| 扎囊县|