Pythonのjoin()、os.sep、os.path.join()関数
Join Os Sep Os Path
os.sepとは
Pythonはクロスプラットフォームです。 Windowsでは、ファイルのパス区切り文字は「」であり、Linuxでは「/」です。
コードを異なるプラットフォームで実行するには、パスを「」または「/」と記述する必要がありますか?
os.sepを使用する場合は、これを考慮する必要はありません。 Os.sepは、使用しているプラットフォームに応じて、対応する区切り文字を自動的に採用します。
例
Linuxでのパス、/ usr / share / pythonの場合、上記のos.sepは「/」です。
Windowsの次のパスC: Users Public Desktopの場合、上記のos.sepは「」です。
data_dir = os.sep.join(['hello', 'world'])
join()
join():文字列配列を結合します。文字列、タプル、リストの要素を指定された文字(区切り文字)で接続して、新しい文字列を生成します
文法:
'sep'.join(seq)
パラメータの説明:
sep:セパレーター。空にすることができます
seq:接続する要素のシーケンス、文字列、タプル、辞書
上記の構文は次のとおりです。seqのすべての要素を新しい文字列にマージするための区切り文字としてsepを使用します。
戻り値:要素を区切り文字sepで接続して生成された文字列を返します
os.path.join()
構文:os.path.join(path1 [、path2 [、.........]])
戻り値:複数のパスを組み合わせた後に返されます
注:最初の絶対値パスの前のパラメーターは無視されます
#Operation on the sequence (using '' and ':' as delimiters respectively) >>> seq1 = ['hello','good','boy','doiido'] >>> print ' '.join(seq1) hello good boy doiido >>> print ':'.join(seq1) hello:good:boy:doiido #Operating on strings >>> seq2 = 'hello good boy doiido' >>> print ':'.join(seq2) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #Operating on tuples >>> seq3 = ('hello','good','boy','doiido') >>> print ':'.join(seq3) hello:good:boy:doiido #Operation on the dictionary >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4} >>> print ':'.join(seq4) boy:good:doiido:hello #Merge directories >>> import os >>> os.path.join('/hello/','good/boy/','doiido') '/hello/good/boy/doiido'