Pythonでパス名を結合する

Pythonでパス名を結合します。文字列として結合するとディレクトリ区切り文字を自分で入れないといけませんが、そのあたりを自動で処理してくれます。

os.path.joinメソッドで結合する

import os.path

ret = os.path.join(path, paths)

変数

内容

path

str

結合するパス名の文字列。

paths

str

結合するパス名の文字列。

ret

str

結合後のパス名。

結合するパス名は2つだけでなく、複数指定できます。

>>> import os.path

>>> os.path.join('program files', 'python37')
'program files\\python37'

>>> os.path.join('program files', 'python37', 'python.exe')
'program files\\python37\\python.exe'

最後の文字列が空文字の場合は、ディレクトリ区切り文字を最後に付けてくれます。 空文字列が最後出ない場合は、無視されます。

>>> import os.path

>>> os.path.join('program files', 'python37', '')
'program files\\python37\\'

>>> os.path.join('','program files', 'python37', 'python.exe')
'program files\\python37\\python.exe'

Windows10の場合、ドライブレターも認識してくれます。 ドライブの相対アドレスなのか、ドライブのルートからのアドレスなのかは、意識して指定する必要があります。

>>> import os.path

>>> os.path.join('c:','program files', 'python37', 'python.exe')
'c:program files\\python37\\python.exe'

>>> os.path.join('c:\\','program files', 'python37', 'python.exe')
'c:\\program files\\python37\\python.exe'

絶対パスやドライブレターよりも先に(左側に)指定されたパス名は、無視されます。

>>> import os.path

>>> os.path.join('program files', '\python37')
'\\python37'

>>> os.path.join('program files', 'c:', 'python37')
'c:python37'

公開日

広告