Может ли кто-нибудь сказать мне, как Python «псевдонимы» os.path
- ntpath
?Python os.path - это ntpath, как?
>>> import os.path
>>> os.path
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'>
>>>
Может ли кто-нибудь сказать мне, как Python «псевдонимы» os.path
- ntpath
?Python os.path - это ntpath, как?
>>> import os.path
>>> os.path
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'>
>>>
Посмотрите на os.py, линии 55-67:
elif 'nt' in _names:
name = 'nt'
linesep = '\r\n'
from nt import *
try:
from nt import _exit
except ImportError:
pass
import ntpath as path
import nt
__all__.extend(_get_exports_list(nt))
del nt
import ntpath as path
является спецификацией ic, что приводит к тому, что os.path
будет ntpath
на ваших платформах (несомненно, Windows).
>>> import os as my_aliased_module
>>> my_aliased_module
<module 'os' from 'C:\Program Files\Python 2.6\lib\os.pyc'>
EDIT: А поскольку import
простое утверждение в Python, вы можете сделать аккуратные вещи, как:
import sys
if sys.platform == 'win32':
import windows_module as my_module
else:
import unix_module as my_module
Одна из действительно замечательных особенностей стандартной библиотеки Python заключается в том, что вы можете посмотреть на источник. Я действительно рекомендую заглянуть туда, чтобы посмотреть, как это делается. –