2

2つのパスを構築するスクリプト(python)があります。1つはLinux形式(ローカル)で、もう1つはWindows形式(Windows共有)です。

重要な場合、スクリプトはLinuxで実行されています。

os.pathはWindowsパスには役立ちません。Pythonにはこの場合のヘルパーがありますか?

余分な区切り文字を排除するスマートな連結が役立ちます...

4

2 に答える 2

7

OS 固有のパスの実装をインポートして使用できます。

import ntpath, posixpath

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

os.path をインポートすると、現在の OS が調べられて、これらのモジュールのどれを使用するかが決定されますが、必要に応じてそれらを直接使用することもできます。

于 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 に答える