亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python中getpass模塊無回顯輸入源碼解析

2020-02-16 11:36:36
字體:
來源:轉載
供稿:網友

本文主要討論了python中getpass模塊的相關內容,具體如下。

getpass模塊

昨天跟學弟吹牛b安利Python標準庫官方文檔的時候偶然發現了這個模塊。仔細一看內容挺少的,只有兩個主要api,就花了點時間閱讀了一下源碼,感覺挺實用的,在這安利給大家。

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.tcsetattrexcept (ImportError, AttributeError):  try:    import msvcrt  except ImportError:    getpass = fallback_getpass  else:    getpass = win_getpasselse:  getpass = unix_getpass

總結:getpass模塊只有不到200行代碼(包括注釋和模塊文檔),getuser的主要代碼更是只有短短7行,內部實現非常簡單。但模塊內部有很多處理異常情況的代碼,很多細節沒辦法在博客里面展開細說,說了顯得啰嗦,不像是筆記。所以建議有興趣的讀者花點時間閱讀一下源碼,能對模塊的細節有更充分的理解。

以上就是本文關于Python中getpass模塊無回顯輸入源碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线免费看| 国产精品久久久久福利| 欧美激情第6页| 国产欧美一区二区三区在线看| 亚洲性视频网站| 日韩av一区二区在线观看| 国产欧美一区二区三区久久人妖| 韩国三级日本三级少妇99| 国产精品一区二区在线| 日韩中文有码在线视频| 欧美福利视频在线观看| 疯狂蹂躏欧美一区二区精品| 国产精品免费一区二区三区都可以| 国产激情综合五月久久| 久久精品美女视频网站| 色777狠狠综合秋免鲁丝| 久久高清视频免费| 久久综合电影一区| 精品性高朝久久久久久久| 2018中文字幕一区二区三区| 97婷婷大伊香蕉精品视频| 国产日韩精品在线观看| 亚洲精品久久久久久久久久久| 亚洲国产成人久久综合一区| 97视频在线观看免费高清完整版在线观看| 久久亚洲精品一区二区| 亚洲精品91美女久久久久久久| 欧美电影在线观看网站| 日韩美女写真福利在线观看| 亚洲香蕉在线观看| 亚洲综合第一页| 影音先锋欧美在线资源| 亚洲成人精品在线| 麻豆成人在线看| 亚洲欧洲日韩国产| 午夜精品久久久久久久男人的天堂| 成人亚洲激情网| 中文字幕亚洲第一| 欧美床上激情在线观看| 久久国产精品久久久久| 欧美一区二区三区图| 日韩国产高清视频在线| 北条麻妃一区二区在线观看| 成人黄在线观看| 国产精品吹潮在线观看| 这里只有精品视频| 成人欧美一区二区三区黑人| 亚洲二区中文字幕| 欧日韩在线观看| 国产精品99导航| 成人在线视频福利| 欧美洲成人男女午夜视频| 国产第一区电影| 国产亚洲在线播放| 国产ts人妖一区二区三区| 亚洲免费电影在线观看| 国产999精品| 久久国产精品影视| 亚洲美女黄色片| 欧美精品久久久久久久久| 欧美激情精品久久久久久蜜臀| 国产精品99久久99久久久二8| 久久久久五月天| 久久综合伊人77777| 欧美一级电影免费在线观看| 亚洲japanese制服美女| 96pao国产成视频永久免费| 国产欧美亚洲视频| 欧美亚洲成人网| 亚洲国产成人精品久久久国产成人一区| 日本电影亚洲天堂| 成人激情视频网| 1769国内精品视频在线播放| 日韩亚洲欧美成人| 久久久久成人网| 亚洲精品欧美日韩专区| 综合久久五月天| 久久久久久久一| 久久久久久久久久久免费| 亚洲国产欧美一区二区三区同亚洲| 岛国精品视频在线播放| 91久久嫩草影院一区二区| 国产一区在线播放| 日韩午夜在线视频| 久久伊人精品天天| 国外成人在线直播| 亚洲品质视频自拍网| 久久久久国产视频| 国产一区二区日韩精品欧美精品| 国产精品久久中文| 91精品国产91久久久久久吃药| 亚洲欧洲日韩国产| 热草久综合在线| 中文字幕一区二区精品| 91超碰中文字幕久久精品| 一本久久综合亚洲鲁鲁| 一区二区欧美日韩视频| 日本sm极度另类视频| 深夜成人在线观看| 亚洲精品电影久久久| 国产精国产精品| 中日韩美女免费视频网址在线观看| 亚洲永久免费观看| 亚洲精品短视频| 欧美午夜性色大片在线观看| 国产精品美女www爽爽爽视频| 欧美激情喷水视频| 久久久www成人免费精品张筱雨| 国产精品九九久久久久久久| 51视频国产精品一区二区| 永久免费毛片在线播放不卡| 久久久精品网站| 国产精品欧美亚洲777777| 亚洲成人黄色网址| 欧美精品xxx| 国产精品美女主播| 亚洲精品乱码久久久久久金桔影视| 尤物九九久久国产精品的特点| 中文字幕亚洲第一| 国产精品专区一| 亚洲视频在线观看免费| 亚洲色无码播放| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲精品一区二区三区不| 国产欧美一区二区三区四区| 日韩高清电影免费观看完整版| 欧美激情综合色综合啪啪五月| 欧美激情videoshd| 亚洲已满18点击进入在线看片| 欧美午夜视频在线观看| 亚洲国产私拍精品国模在线观看| 国产日产欧美a一级在线| 亚洲视频在线播放| 国产一区二区视频在线观看| 欧美最猛性xxxxx免费| 日韩在线视频免费观看高清中文| 午夜精品久久久久久久久久久久久| 91精品久久久久久久久久久久久| 国产精品中文字幕在线观看| 国产a级全部精品| 国产在线观看一区二区三区| www.欧美视频| 中文字幕国产精品久久| 成人疯狂猛交xxx| 欧美激情一区二区三区久久久| 成人激情免费在线| 日韩中文字幕在线看| 日韩美女视频中文字幕| 久久精品久久久久久国产 免费| 国产亚洲精品综合一区91| 欧美精品一本久久男人的天堂| 69久久夜色精品国产7777| 欧美日本啪啪无遮挡网站| 精品久久香蕉国产线看观看亚洲| 91地址最新发布| 精品国产鲁一鲁一区二区张丽| 亚洲女同性videos| 国产精品女人久久久久久| 日韩精品在线私人| 成人性生交大片免费看视频直播| 国产一区二区在线免费视频| 伊人久久免费视频| 精品国产一区二区三区久久久狼| 欧洲亚洲女同hd|