在工做中,常常遇到字符串切分,尤爲是操做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