同时连接linux和windows的路径

时间:2012-06-21 16:08:56

标签: python path concatenation

我有一个脚本(python)应该构建两个路径 - 一个是Linux表单(本地),另一个是Windows表单(Windows共享)

如果重要的话,脚本在Linux下运行。

os.path对Windows路径没有帮助。 python是否有一些帮助这个案例?

任何消除额外分隔符的智能连接都会有所帮助......

2 个答案:

答案 0 :(得分:7)

您可以导入和使用特定于操作系统的路径实现:

import ntpath, posixpath

assert ntpath.join("a", "b") == r"a\b"
assert posixpath.join("a", "b") == "a/b"

当您导入os.path时,它会检查当前的操作系统以决定使用哪些模块,但如果需要,您可以直接使用它们。

答案 1 :(得分:1)

根据您所在的平台,os模块将使用import ntpath as path(Windows)或import posixpath as path(* nix)。您可以直接导入这些模块以进行路径操作,就像您在不同的平台上一样:

In [1]: import ntpath

In [2]: ntpath.join('dir', 'file')
Out[2]: 'dir\\file'

In [3]: import posixpath

In [4]: posixpath.join('dir', 'file')
Out[4]: 'dir/file'