python子模块和路径名操作

python sub-modules and path-names manipulation

最近我在python中学习了路径名操作,对模块有了基本的了解,下面的陈述使我感到困惑

osos.path都是模块:(这怎么可能

然后我查看了os.py源代码,发现了以下有启发性的代码行

1
57. import posixpath as path

我的问题是

为什么我应该使用os.path.join('bin','utils')而不是posixpath.join('bin','utils')

xx.y作为两个模块以及何时应用此技术的简单方法是什么?


使用os.path.join('bin','utils')代替posixpath.join('bin','utils')

我发现使用os.path更直接使用posixpath

os.path提供与不同操作系统的兼容性。 来自os.py的简化代码

1
2
3
4
5
6
7
if 'posix' == os.name :
    from posix import *
    import posixpath as path
elif 'nt' == os.name :
    from nt import *
    import ntpath as path
....

正如您所看到的,使用os.path将确保您正在操作当前操作系统细节的路径。