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:要連接的元素序列、字符串、元組、字典
上面的語法即:以sep作為分隔符,將seq所有的元素合並成一個新的字符串
返回值:返回一個以分隔符sep連接各個元素后生成的字符串
os.path.join()
語法:os.path.join(path1[,path2[,.........]])
返回值:將多個路徑組合后返回
注:第一個絕對值路徑之前的參數將被忽略
#對序列進行操作(分別使用' '與':'作為分隔符)
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
#對字符串進行操作
>>> 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
#對元組進行操作
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
#對字典進行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
#合並目錄
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
-