我有一个命令执行后返回的字符串列表,在“\ n”上拆分。
listname = output.decode('utf8').rstrip().split('\n')
当我使用打印时print(listname)
,我得到
['']
显然这是一个包含空字符串的列表
正因为如此,我得到len(listname)
了 1。
如何删除这个空字符串
我认为这就是你要找的:
filter(None,output.decode('utf8').rstrip().split('\n'))
详细说明:
>>> filter(None, ["Ford", "Nissan", ""])
['Ford', 'Nissan']
PS 在 python 3+filter
返回迭代器,所以使用list(filter(..))
.
listname = [item for item in output.decode('utf8').rstrip().split('\n') if item]
output = output.decode('utf8').rstrip()
if output:
listname = []
else:
listname = output.split('\n')