2010-01-24 82 views
6

有人能告诉我Python如何“别名”os.pathntpathPython os.path是ntpath,怎么样?

>>> import os.path 
>>> os.path 
<module 'ntpath' from 'C:\Python26\lib\ntpath.pyc'> 
>>> 
+0

关于Python标准库真正伟大的事情之一是,你可以看看源代码。我真的建议在那里打探一下,看看事情是如何完成的。 – 2010-01-24 09:11:47

回答

10

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.pathntpath(无疑是Windows)。

7
>>> import os as my_aliased_module 
>>> my_aliased_module 
<module 'os' from 'C:\Program Files\Python 2.6\lib\os.pyc'> 

编辑:既然import是Python中的简单的语句,你可以做奇妙的东西,如:

import sys 

if sys.platform == 'win32': 
    import windows_module as my_module 
else: 
    import unix_module as my_module