我在os x上编写了一个脚本,导入getpass并要求输入密码:
a = getpass.getpass("Password: ")
但是当我在linux中使用以下命令运行相同的代码时:
python2 getpass.py
它说
AttributeError:“函数”对象没有属性“ getpass”
我试图制作一个像这样的脚本:
import getpass
a = getpass.getpass("Password: ")
print a
我得到:
TypeError:“模块”对象不可调用
关于getpass.getpass有什么问题的任何想法,因为它在os x下可以正常工作?
最佳答案
因为您已将脚本命名为getpass.py
,所以当您执行import getpass
时,就意味着要导入自己。这意味着getpass.getpass
解析为模块,而不是您打算在标准库的getpass
模块中调用的函数。
解决方案很简单:将脚本重命名为getpass.py
以外的名称。通常,请避免为自己的代码使用与标准库模块相同的名称(如果使用的是from __future__ import absolute_import
或默认为Python版本,则可能不在软件包中)。
关于python - 我在Linux下获取getpass.getpass()时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31799976/