join
join 有两种,一种是连接字符串的join(),将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串;另一种是连接多个路径的os.path.join()
>>> str1="China 1 2 3"
>>> type(str1)
<class 'str'>
>>> print((','.join(str1))
... )
C,h,i,n,a, ,1, ,2, ,3
>>>
>>> list1=['China',1,2,3]
>>> type(list1)
<class 'list'>
>>> print(','.join(list1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 1: expected str instance, int found
>>> list1=['China','1','2','3']
>>> print((':'.join(list1)))
China:1:2:3
>>> print((','.join(list1)))
China,1,2,3
>>> type((','.join(list1)))
<class 'str'>
>>>
>>> tup1=('China','1','2','3')
>>> type(tup1)
<class 'tuple'>
>>> print(':'.join(tup1))
China:1:2:3
>>> type(':'.join(tup1))
<class 'str'>
>>>
>>> dic1={'k1':'China,'v1':1,'v2':2}
File "<stdin>", line 1
dic1={'k1':'China,'v1':1,'v2':2}
^
SyntaxError: invalid syntax
>>> dic1={'k1':'China','v1':1,'v2':2}
>>> type(dic1)
<class 'dict'>
>>> print(':'.join(dic1))
k1:v1:v2
>>> type(':'.join(dic1))
<class 'str'>
>>>
>>> #目录
...
>>> import os
>>> os.path.join('china','usa','japan')
'china/usa/japan'
split
也有两种,第一种split
语法:str.split(str="",num=string.count(str))[n]
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片
第二种os.path.split('PATH')
PATH指一个文件的全路径作为参数:
如果给出的是一个目录和文件名,则输出路径和文件名
如果给出的是一个目录名,则输出路径和为空文件名
>>> #split
...
>>> str1="China 1 2 3"
>>> print(str1.split())
['China', '1', '2', '3']
>>> print(str1.split('.'))
['China 1 2 3']
>>> str2="China ,1 ,2,3"
>>> print(str2.split(','))
['China ', '1 ', '2', '3']
>>>
>>> print(str2.split(','),1)
['China ', '1 ', '2', '3'] 1
>>> print(str2.split(',',1))
['China ', '1 ,2,3']
>>> # 以上分割1次
...
>>> # 分割两次,并取序列为1的项
...
>>> print(str2.split(',',2)[1])
1
>>> print(str2.split(',',2))
['China ', '1 ', '2,3']
>>>
>>> print(str2.split(',',-1))
['China ', '1 ', '2', '3']
>>>
>>> #分割多次,并保存多个
...
>>> v1,v2,v3=str2.split(',',2)
>>> print(v1)
China
>>> print(v2)
1
>>> print(v3)
2,3
>>>
>>> #分离路径
...
>>> import os
>>> print(os.path.split('/home/mysql/test.txt'))
('/home/mysql', 'test.txt')
>>> print(os.path.split('/home/mysql/data/'))
('/home/mysql/data', '')
>>> # 经典例子
...
>>> str="hello boy<[www.baidu.com]>byebye"
>>> print(str.split("[')[1].split("]")[0])
File "<stdin>", line 1
print(str.split("[')[1].split("]")[0])
^
SyntaxError: invalid syntax
>>> print(str.split("[")[1].split("]")[0])
www.baidu.com