我在Ubuntu 16.04.2 LTS中使用Python 3.5.2,PyCharm Community Edition 2017.1.1
我是Python的初学者,我正在尝试使此代码正常工作。
a = getattr(__builtins__, 'print')
实际上,它在IDLE中工作正常,但是Pycharm无法识别内置函数。其他常见的内置函数,例如str(),int()...都可以正常工作。
我在Pycharm support中搜索解决方案。
“设置” |“设置”中的“重新加载”按钮。 Python解释器为二进制模块(包括内置模块)重新生成框架。请尝试按它。
但是它也不起作用。我在皮查姆得到这个...
AttributeError: 'dict' object has no attribute 'print'
先感谢您。
最佳答案
您不应直接使用__builtins__
,而应使用builtins
模块。
在pycharm python控制台中,__builtins__
充当字典,在这种情况下,您将需要通过print
检索a = __builtins__['print']
。相反,如果将其作为脚本运行,则__builtins__
充当builtins
ø模块的模块表示。在这种情况下,您将需要使用a = getattr(__builtins__, 'print')
或a = __builtins__.print
进行操作。
但是,正如我之前所说,您不应直接使用__builtins__
关键字。您应该改为:
import builtins
a = builtins.print # or getatrr(builtins, 'print') which either way you prefer
也许还要检查this answer。