"来自_json import ..." - python

Gle*_*ord 0 python import json module

我正在检查python 3.1的JSON模块,目前在/Lib/json/scanner.py中.在文件的顶部是以下行:

from _json import make_scanner as c_make_scanner
Run Code Online (Sandbox Code Playgroud)

模块目录中有五个.py文件:( __init__两个前导和尾随下划线,格式为粗体),解码器,编码器,扫描仪和工具.没有名为"json"的文件.

我的问题是:在进行导入时,"make_scanner"究竟来自哪里?

是的,我是Python的新手!

Ale*_*lli 5

它来自C编译_json.pyd(或_json.so等等,取决于平台),它们位于其他地方sys.path.通过自己导入模块并查看模块,您可以随时找到特定Python安装的位置__file__,例如:

>>> import _json
>>> _json.__file__
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_json.so'
Run Code Online (Sandbox Code Playgroud)

如您所见,在我的Python 2.6安装中,_json来自lib-dynload子目录lib/python2.6,并且此平台上使用的扩展名是.so.