我在linux

时间:2015-08-04 03:04:00

标签: python linux

我在os x上编写了一个脚本,导入了getpass并要求输入密码:

a = getpass.getpass("Password: ")

但是当我用linux运行相同的代码时:

python2 getpass.py

它说

  

AttributeError:'function'对象没有属性'getpass'

我尝试制作这样的剧本:

import getpass
a = getpass.getpass("Password: ")
print a

我明白了:

  

TypeError:'module'对象不可调用

任何关于getpass.getpass有什么问题的想法,因为它在os x下工作正常吗?

1 个答案:

答案 0 :(得分:4)

因为你已经命名了你的脚本getpass.py,当你import getpass进行自我导入时。这意味着getpass.getpass解析为模块,而不是您打算在标准库中的getpass模块中调用的函数。

解决方案很简单:将脚本重命名为getpass.py以外的其他内容。一般情况下,避免使用与标准库模块相同的名称作为您自己的代码(除非在包中,如果您使用的是from __future__ import absolute_import或Python版本,那么这是默认的。)