「/」、「\」を使用したプラットフォームに依存しないパス連結? 質問する

「/」、「\」を使用したプラットフォームに依存しないパス連結? 質問する

Python には変数base_dirとがありますfilename。これらを連結して を取得したいと思いますfullpath。ただし、Windows では\POSIX に と を使用する必要があります/

fullpath = "%s/%s" % ( base_dir, filename ) # for Linux

このプラットフォームを独立させるにはどうすればよいですか?

ベストアンサー1

使いたいos.path.join()このために。

文字列の連結などではなくこれを使用する利点は、パス区切り文字などのさまざまな OS 固有の問題を認識できることです。例:

import os

ウィンドウズ7:

base_dir = r'c:\bla\bing'
filename = r'data.txt'

os.path.join(base_dir, filename)
'c:\\bla\\bing\\data.txt'

リナックス:

base_dir = '/bla/bing'
filename = 'data.txt'

os.path.join(base_dir, filename)
'/bla/bing/data.txt'

オスこのモジュールには、ディレクトリ、パスの操作、およびパスで使用される区切り文字などのOS固有の情報を見つけるための多くの便利なメソッドが含まれています。os.sep

おすすめ記事