Pythonのos.path.join
関数は、複数のパス要素を結合するための便利なツールです。しかし、Windows環境では、この関数の挙動について混乱を招くことがあります。
例えば、次のようなコードを考えてみましょう。
import os
print(os.path.join('c:', 'sourcedir'))
このコードは、期待通りに'c:\\sourcedir'
を出力すると思うかもしれませんが、実際には'c:sourcedir'
という結果を得ます。これは、os.path.join
がWindowsのドライブ文字の扱い方によるものです。
この問題を解決するためには、os.sep
(OSに応じたパス区切り文字)を使用します。以下に示すように、os.sep
を追加することで、期待通りの結果を得ることができます。
import os
print(os.path.join('c:', os.sep, 'sourcedir'))
このコードは、'c:\\sourcedir'
を出力します。
- 以上のように、Pythonの
os.path.join
関数をWindows環境で適切に使用するためには、os.sep
の活用が重要となります。これにより、OSに依存しないコードを書くことが可能となります。 -
Stack Overflow
-
GeeksforGeeks