Python ctypes:_ctypes.py 文件应该位于何处?

Python ctypes: where is _ctypes.py file supposed to be located?

在我为 python3.7 安装的 Python 中,安装了 ctypes。例如,__init__.py 位于:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py。这对我来说很有意义。

注意:我的 OS 是 MacOS Mojave,10.14.3.

ctypes 不断引用 _ctypes。我使用 PyCharm,当我按住左键单击 _ctypes 时,它会将我带到:/Users/myuser/Library/Caches/PyCharmCE2018.3/python_stubs/-1199943126/_ctypes.py.

为什么 _ctypes.py 在这个随机文件夹中,而不是在安装 Python 3.7 的文件夹中?

没有真正的_ctypes.py。您看到的那个文件是 PyCharm 创建的,因此它可以向您显示伪造的源代码。它在那个奇怪的地方,因为它是假的。我不知道为什么 PyCharm 会那样做。

_ctypes 的真正源代码在 C 中,它不会进入您的 Python 发行版。您可以在 Modules/_ctypes 文件夹下的 CPython 存储库中看到它。您可以通过导入 _ctypes 并检查 _ctypes.__file__ 来查看 _ctypes 的已编译文件在哪里,但它是已编译的,因此对于大多数用途,您需要查看源代码。