3
Python中處理這種「別名」的底層機制是什麼?os.path如何映射到posixpath.pyc而不是os/path.py?
>>> import os.path
>>> os.path.__file__
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.pyc'
Python中處理這種「別名」的底層機制是什麼?os.path如何映射到posixpath.pyc而不是os/path.py?
>>> import os.path
>>> os.path.__file__
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.pyc'
從os.py拍攝於CPython的2.6:
if 'posix' in _names:
name = 'posix'
linesep = '\n'
from posix import *
try:
from posix import _exit
except ImportError:
pass
import posixpath as path
import posix
__all__.extend(_get_exports_list(posix))
del posix
elif 'nt' in _names:
# ...
:
sys.modules['os.path'] = path
from os.path import (curdir, pardir, sep, pathsep, defpath, extsep, altsep,
devnull)
path
更早作爲特定於平臺的模塊定義
也許os使用import爲?
import posixpath as path