在工做中,常常遇到字符串切分,尤为是操做linux命令,返回一段文本,以下面这种格式python
Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 3.1G 35G 9% / tmpfs 939M 0 939M 0% /dev/shm
在整理数据时,之前我都是直接split(' '), 结果固然是很不理想啊,今天get到了一个新技术----直接split()linux
下面看示例:数组
if __name__ == '__main__': line = '/dev/vda1 40G 3.1G 35G 9% /' arr = line.split() print(arr) # ['/dev/vda1', '40G', '3.1G', '35G', '9%', '/']
结果很理想,管你几个空格,我全给你干掉,而后搞成一个顺眼数组,完美!!函数
此别,python还有个filter函数,使用起来也是牛一逼,且看以下示例spa
if __name__ == '__main__': line = '/dev/vda1 40G 3.1G 35G 9% /' # arr = line.split() # print(arr) ret = list(filter(None, line.split(' '))) print(ret) #['/dev/vda1', '40G', '3.1G', '35G', '9%', '/']
一样完成了上面的切分功能,但使用起来略显复杂。不过,filter这个函数仍是颇有用的。code