Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在linux下获取getpass.getpass()时遇到问题_Python_Linux - Fatal编程技术网

Python 在linux下获取getpass.getpass()时遇到问题

Python 在linux下获取getpass.getpass()时遇到问题,python,linux,Python,Linux,我在os x上编写了一个脚本,导入getpass并询问密码: a = getpass.getpass("Password: ") 但当我在linux中运行相同的代码时: python2 getpass.py 上面说 AttributeError:“函数”对象没有属性“getpass” 我试着制作一个这样的脚本: import getpass a = getpass.getpass("Password: ") print a 我得到: TypeError:“模块”对象不可调用 你知道getp

我在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,当你导入getpass时,你就是在导入自己。这意味着getpass.getpass解析为模块,而不是您打算在标准库的getpass模块中调用的函数


解决方案很简单:将脚本重命名为getpass.py以外的其他名称。一般来说,如果您使用的是from uu future uuuu import absolute uu import或默认的Python版本,请避免在您自己的代码中使用与标准库模块相同的名称。您使用的发行版是什么,Python的版本是什么?Arch Linux-Python 2.7这一点非常清楚,我在第二个脚本中犯的错误,第一个被称为collections.py,它返回:AttributeError:“function”对象没有属性“getpass”,当我将第二个getpass.py脚本重命名为blablabla.py时,我得到了上面相同的错误!对于您显示的代码来说,这没有多大意义。你真的在运行不同的东西吗?也许是从getpass导入*还是什么?我以错误的方式导入getpass。起初我只是导入getpass,但后来我从getpass中添加了import getpass,取出后,代码运行平稳。非常感谢你的帮助!