2

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

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

os.path 对 Windows 路径没有帮助。对于这种情况,python 有帮助吗?

任何消除额外分隔符的智能连接都将有助于...

4

2 回答 2

7

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

import ntpath, posixpath

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

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

于 2012-06-21T16:17:21.803 回答
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'
于 2012-06-21T16:17:23.763 回答