我有一个在命令执行后返回的字符串列表,拆分为'\ n'。
listname = output.decode('utf8').rstrip().split('\n')
当我使用print(listname)
进行打印时,我得到了
['']
显然,这是一个包含空字符串的列表
因此我将len(listname)
作为1。
如何删除此空字符串
答案 0 :(得分:4)
我认为这就是你要找的东西:
filter(None,output.decode('utf8').rstrip().split('\n'))
详情:
>>> filter(None, ["Ford", "Nissan", ""])
['Ford', 'Nissan']
P.S。在python 3+ filter
中返回迭代器,因此请使用list(filter(..))
。
答案 1 :(得分:3)
listname = [item for item in output.decode('utf8').rstrip().split('\n') if item]
答案 2 :(得分:1)
output = output.decode('utf8').rstrip()
if output:
listname = []
else:
listname = output.split('\n')