split: 文字列の分割
str.split(sep)
sepを区切り文字として、単語を分割してリストにする。
区切り文字が指定されない場合は、スペース、タブ、改行文字列で分割される特殊なルールになる。
>>> "hello,world,foo,bar".split(",")
['hello', 'world', 'foo', 'bar']
>>> "hello,world, foo, bar".split(", ")
>>> "hello world\tfoo\nbar".split()
['hello', 'world', 'foo', 'bar']
第2引数で区切り文字で分割する回数を指定することができる。
>>> "aaa,bbb,ccc".split(",", 1) #分割回数は1回に制限。('bbb,ccc'は分割されていない)
['aaa', 'bbb,ccc']
正規表現でのsplitの場合は、reモジュールを使用する。※ 正規表現split参照
>>> import re
>>> re.split(r'[,:]', "a,b:c")
['a', 'b', 'c']
join: 文字列シーケンスの連結
sep.join(seq)
sepを区切り文字として、seqを連結してひとつの文字列にする。
>>> ":".join(["a", "b", "cde"]);
'a:b:cde'
シーケンス.joinではなく、区切り文字列.join(シーケンス)なので注意。
rsplit: 右から文字列の分割
rsplitは右側から文字列を指定回数分割する。
>>> "/path/to/foo/bar/hoge.txt".rsplit("/", 1) # 右から1回だけ分割。パスとファイル名に分割
['/path/to/foo/bar', 'hoge.txt']
余談ですがファイル名とパスに分割する機能は、os.path.split() を使った方がよいです。