在工作中,经常遇到字符串切分,尤其是操作linux命令,返回一段文本,如下面这种格式

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  3.1G   35G   9% /
tmpfs           939M     0  939M   0% /dev/shm

在整理数据时,以前我都是直接split(' '), 结果当然是很不理想啊,今天get到了一个新技术----直接split()

 

下面看示例:

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函数,使用起来也是牛一逼,且看如下示例

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这个函数还是很有用的。

 

 

 

 

 

 

 

 

posted on 2019-11-06 23:03  显示账号  阅读(1755)  评论(0编辑  收藏  举报