Python - getpass

文章目录

    • 关于 getpass
    • 基本使用
    • 语法说明
    • 其它


关于 getpass

getpass 是 Python 自带标准库

  • Python 官方文档 - getpass
    https://docs.python.org/3/library/getpass.html

基本使用

我们在看视频教程中,老师如果不想在代码中暴露 token、密码之类的信息,可以使用 getpass 来输入
用法如下:

import getpass
getpass.getuser() # 当前用户名pwd = getpass.getpass()

在这里插入图片描述


语法说明

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

提示用户输入一个密码且不会回显。
用户会看到字符串 prompt 作为提示,其默认值为 'Password: '

在 Unix 上,如有必要 提示会使用替换错误句柄写入到文件型对象 stream
stream 默认指向控制终端 (/dev/tty),如果不可用则指向 sys.stderr (此参数在 Windows 上会被忽略)。
如果回显自由输入不可用则 getpass() 将回退为打印一条警告消息到 stream 并且从 sys.stdin 读取同时发出 GetPassWarning
备注 如果你从 IDLE 内部调用 getpass,输入可能是在你启动 IDLE 的终端中而非在 IDLE 窗口本身中完成。


exception getpass.GetPassWarning

一个当密码输入可能被回显时发出的 UserWarning 子类。


getpass.getuser()

返回用户的“登录名称”。
此函数会按顺序检查环境变量 LOGNAME, USER, LNAMEUSERNAME,并返回其中第一个被设置为非空字符串的值。
如果均未设置,则在支持 pwd 模块的系统上将返回来自密码数据库的登录名,否则将引发一个异常。
通常情况下,此函数应优先于 os.getlogin() 使用。


其它

github 可以发现一些改进项目:
https://github.com/guoruibiao/getpass2
https://github.com/J16N/getpass3


伊织 2024-03-04(周一快乐)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/512781.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九型人格测试,3号成就型人格的职业分析

成就型人格(也叫3号人格),在九型人格中,是一种喜欢争强好胜的人格(这跟和平型人格具有强烈的对比性)。这种人格的人,对于一切给自己带来成就感的事情会表现得非常上心,不会有丝毫地疏…

C++引用占用内存空间吗

C引用占用内存空间吗 看到很多人说引用不占用内存空间&#xff0c;实际跑了一下 &#xff0c;下面是VC2008和VS2010转到反汇编&#xff0c;我们可以清楚地看到引用是占用内存空间的****&#xff0c;只是他这个内存空间里存放者引用对象的地址 #include<iostream> using…

基于springboot+vue的医疗报销系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

android开发工程师,Android开发三年月薪才12K

二、Android开发者的四个层级 按我的理解&#xff0c;无论是Android开发者还是其他的开发者都可以分为四个层级&#xff0c;可依次对应普通、熟练、优秀、卓越这四个词。 一、 普通 普通开发者&#xff0c;能够使用一定的专项技术&#xff0c;完成别人分配的模块的开发。在工…

Springboot 过滤器、拦截器、全局异常处理

Springboot 过滤器、拦截器、全局异常处理 一 过滤器&#xff08;Filter&#xff09; 过滤器是JavaWeb三大组件&#xff08;Servlet&#xff0c;Filter&#xff0c;Listener&#xff09;之一。 Filter可以把对资源的请求拦截下来&#xff0c;从而实现一些功能。 注意&#…

draw.io设置矩形四个边的有无

第一步创建一个矩形 选中矩形&#xff0c;并编辑样式 然后在编辑框中输入 verticalLabelPositionbottom;verticalAligntop;html1;shapemxgraph.basic.rect;right1;将原来的内容覆盖掉 然后点击应用 然后发现 点击那四个设置就可以了

招投标系统:从线下招标到高效数字化

随着科技的不断进步&#xff0c;越来越多的企业开始意识到传统的线下招标方式存在的种种限制&#xff0c;并积极转向电子招投标系统。这一趋势的兴起不仅是数字化转型的必然选择&#xff0c;更是企业提高效率、降低成本的有效途径。 招投标系统的定义与作用 招投标系统是一种…

netlink原理及应用

什么是netlink netlink是一种基于网络的通信机制&#xff0c;允许内核内部、内核与用户态应用之间甚至用户态应用之间进行通信&#xff1b;netlink的主要作用是内核与用户态之间通信&#xff1b;它的思想是&#xff0c;基于BSD的socket使用网络框架在内核和用户态之间进行通信…

【数据存储】大端存储||小端存储(超详细解析,小白一看就懂!!!)

目录 一、前言 二、什么是低地址、高地址 &#xff1f; 三、什么是数据的高位和低位 &#xff1f; 四、什么是大小端存储&#xff1f; &#x1f349; 小端存储详解 &#x1f352; 大端存储详解 五、为什么会有大小端存储&#xff1f; &#x1f34d;大端存储的优点 &#…

Java多线程——CyclicBarrier 与 CountDownLatch 区别,如何线程间数据交换?

目录 引出CyclicBarrier 与 CountDownLatch 区别线程间数据交换&#xff1f;Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——CyclicBarrier 与 CountDownLatch 区别&#xff0c;如何线程间数据交换&#xff1f;…

开发知识点-前端-layUI

layui layertabletable render <script type"text/html" id"buttonTpl">{{# if(d.check true){ }}<button class"layui-btn layui-btn-xs">已审核</button>{{# } else { }}<button class"layui-btn layui-btn-prim…

Frontend - Boostrap 消息弹窗

目录 一、下载 &#xff08;一&#xff09;中文官网 &#xff08;二&#xff09;bootstrap v3 依赖 jQuery 插件 二、解压并安装 &#xff08;一&#xff09;解压 1. 压缩包解压 2. 简化文件 &#xff08;二&#xff09;安装 三、配置 &#xff08;一&#xff09;bas…