1

コマンドの実行後に返された文字列のリストがあり、'\n' で分割されています。

listname = output.decode('utf8').rstrip().split('\n')

を使用して印刷するprint(listname)と、

['']

明らかに空の文字列を含むリストです

このため、私はlen(listname)1として取得しています。

この空の文字列を削除する方法

4

3 に答える 3

5

これがあなたが探しているものだと思います:

filter(None,output.decode('utf8').rstrip().split('\n'))

詳細に:

>>> filter(None, ["Ford", "Nissan", ""])
['Ford', 'Nissan']

PSではpython 3+filterはイテレータを返すので、を使用してlist(filter(..))ください。

于 2013-05-14T14:13:57.610 に答える
3
listname = [item for item in output.decode('utf8').rstrip().split('\n') if item]
于 2013-05-14T14:14:06.017 に答える
1
output = output.decode('utf8').rstrip()
if output:
    listname = []
else:
    listname = output.split('\n')
于 2013-05-14T14:14:21.283 に答える