【问题标题】:How can I see Python's __builtins__ source code?如何查看 Python 的 __builtins__ 源代码?
【发布时间】:2017-04-12 14:55:55
【问题描述】:

我可以让python直接打印__builtins__的源代码吗?

或(更优选):

__builtins__的源代码路径名是什么?


我至少知道以下几点:

  • __builtins__ 是一个模块,输入type(__builtins__)

  • 对于这个 SO 问题的更一般情况,我已经尝试了最佳答案建议:"Finding the source code for built-in Python functions?"。但没有运气:

    • print inspect.getdoc(__builtins__) 只是给我一个描述。

    • inspect.getfile(__builtins__) 只是给我一个错误:TypeError: <module '__builtin__' (built-in)> is a built-in module

    • https://hg.python.org/cpython/file/c6880edaf6f3/# 似乎不包含__builtins__ 的条目。我试过“site:”搜索并浏览了几个目录,但在几个之后就放弃了。

【问题讨论】:

  • @MooingRawr 我已经尝试了原始帖子中的答案
  • 应该提到......然后......
  • @MooingRawr,干杯,我的坏会编辑
  • 注意:__builtins__ 名称是一个实现细节,__builtins__ 的行为并不像您预期​​的那样一致。例如,它并不总是一个模块!如果要访问定义了内置名称的模块,则应在 Python 3 上使用 import __builtin__(无 s)或 import builtins(无下划线)。

标签: python python-2.7 built-in inspect


【解决方案1】:

__builtin__ 模块在 Python/bltinmodule.c 中实现,对于一个相当不寻常的模块来说,这是一个相当不寻常的位置。

【讨论】:

  • 干杯,你怎么知道的?或者你是怎么解决的?
  • @Oracle:我刚刚花了很多时间浏览 Python 源代码,所以我很熟悉很多东西在哪里。
  • 尊重。至少我知道我没有错过任何工具(也许)。
【解决方案2】:

我现在不能尝试,但是 python 默认 ide 能够轻松打开核心模块(我尝试了数学等)

https://docs.python.org/2/library/idle.html

在菜单上。打开模块。

【讨论】:

  • 你能举例说明你的意思吗?
  • 我不明白:“我现在可以试试”(试试什么?),“但是”(你确定你的意思是但是?),“轻松打开核心模块”(是的,我打赌它可以,但是怎么做?哪行代码?)
  • 我正在手机上写信,遗憾的是我不能在这里使用 idle :) 我编辑以澄清我的意思。
  • 啊 IDLE,好吧,我可能已经安装了 IDLE(我使用 sublime),但如果没有 GUI 这样做真的很好,我猜它只会给我一个巨大的列表供我选择.因为我的 sys.path 非常大。
  • 这显示的是真实的源代码吗?我在 PyCharm 中看到 something similar 只是编造了看起来可能是源代码的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 2022-01-10
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多