我在 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解释器为二进制模块重新生成骨架,包括内置函数。请尝试按下它。
但它不起作用。我在Pycharm得到这个......
AttributeError: 'dict' object has no attribute 'print'
提前谢谢。
答案 0 :(得分:2)
您不应直接使用__builtins__
,而应使用builtins
模块。
在pycharm python控制台中,__builtins__
充当dict,在这种情况下,您需要通过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。