web-dev-qa-db-ja.com

文字列連結ではなくos.path.joinを使用する理由

ここでは全体像を見ることができません。しかし、基本的に、通常の文字列連結の代わりにos.path.joinを使用する理由がわかりません。

主にVBScriptを使用しているので、この関数の意味がわかりません。

67
user1905410

'\'を使用するWindowsおよび '/'を使用するUnix(Mac OS Xを含む)で動作します。

posixpathの場合、ここに簡単なコードがあります

In [22]: os.path.join??
Type:       function
String Form:<function join at 0x107c28ed8>
File:       /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py
Definition: os.path.join(a, *p)
Source:
def join(a, *p):
    """Join two or more pathname components, inserting '/' as needed.
    If any component is an absolute path, all previous path components
    will be discarded."""
    path = a
    for b in p:
        if b.startswith('/'):
            path = b
        Elif path == '' or path.endswith('/'):
            path +=  b
        else:
            path += '/' + b
    return path

ウィンドウはありませんが、 '\'を付けると同じになります。

5
locojay