【问题标题】:Pycharm not recognising builtinsPycharm 无法识别内置函数
【发布时间】:2017-09-10 07:56:39
【问题描述】:

我在 Ubuntu 16.04.2 LTS

中使用 Python 3.5.2PyCharm Community Edition 2017.1.1

我是 Python 的初学者,我正在努力让这段代码正常工作。

a = getattr(__builtins__, 'print')

实际上它在 IDLE 中运行良好,但 Pycharm 无法识别内置函数。其他常见的内置函数,如 str()、int()... 工作正常。

我在Pycharm support 中搜索了解决方案。

设置中的“重新加载”按钮 | Python Interpreters 重新生成二进制模块的骨架,包括内置函数。请尝试按下它。

但它也不起作用。我在 Pycharm 中得到了这个......

AttributeError: 'dict' object has no attribute 'print'

提前谢谢你。

【问题讨论】:

    标签: python python-3.x intellij-idea pycharm


    【解决方案1】:

    您不应直接使用__builtins__,而应使用builtins 模块。

    在 pycharm python 控制台中,__builtins__ 充当字典,在这种情况下,您需要通过a = __builtins__['print'] 检索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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 2014-05-21
      • 2021-10-09
      • 1970-01-01
      • 2021-11-05
      • 2015-01-06
      • 2017-05-17
      相关资源
      最近更新 更多