我在Ubuntu 14.04的python3 shell中使用了help() 我得到了这个输出 请帮忙,不知道什么是错的。
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/_sitebuiltins.py", line 98, in __call__
import pydoc
File "/usr/lib/python3.4/pydoc.py", line 65, in <module>
import platform
File "/home/omega/platform.py", line 2, in <module>
print("System : ",platform.uname().system)
AttributeError: 'module' object has no attribute 'uname'
>>>
答案 0 :(得分:2)
问题是platform
是help
使用的stdlib模块的名称。通过使用与sys.path
中的stdlib之前相同的名称创建自己的模块,您可以防止Python使用标准模块。
您自己的platform
模块尝试使用同名的stdlib模块这一事实只会加剧问题。那不会起作用;该模块中的import platform
只是导入自己。
解决方案是不要碰撞这样的名字。如果您想直接或间接使用该模块中的功能,请查看list of the standard modules,并且不要创建与其中任何名称相同的任何内容。
换句话说:将platform.py
重命名为其他内容,或将其放入包中。
答案 1 :(得分:0)
File "/home/omega/platform.py", line 2, in <module>
print("System : ",platform.uname().system)
这是问题,转到platform.py并修复它,它会没问题。它说, platform 没有任何名为 uname 的方法,你可能会错误输入。