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'

https://www.jb51.net/article/63598.htm