我在 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'
>>>
最佳答案
问题是 platform
是 help
使用的 stdlib 模块的名称。通过创建一个您自己的模块,其名称与 sys.path
中 stdlib 之前的名称相同,您就可以阻止 Python 使用标准模块。
您自己的 platform
模块尝试使用同名的 stdlib 模块这一事实只会使问题更加复杂。那是行不通的;该模块内的导入平台
只是导入自身。
解决方案是不要像这样冲突名称。看list of the standard modules ,如果您想直接或间接使用该模块的功能,请勿创建与其中任何一个同名的任何内容。
换句话说:将您的 platform.py
重命名为其他名称,或者将其放入包中。
关于Ubuntu 上的 Python3 在 help() 命令上出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27540098/