为什么解释器中的Python3生成器最后返回None List?

首先,我像3年前一样捡起了python,我很喜欢它。当我在IDE中键入代码时,我通常只采用简单的方法并测试代码。但是最近,我一直在使用交互式控制台来测试“想法”的摘要,并且键入它很烦人,因为我一直在使用生成器,并且对None元素的列表感到困惑,只要最后生成的元素数。

为此,我使用这段代码来传递有关某些应用程序的一些信息

data_stream = run('powershell -Command " & {ps -Id %s | select MainWindowHandle,name,id,'
                                                           'mainwindowhandle,startime}"'%_proc,bufsize=0,stdout=PIPE,stderr=PIPE,universal_newlines=0,shell=True).stdout.decode('utf-8').split('\r\n')[2:-4]

# Yes,I know the risk that involves using shell=True

这将返回这样的列表(这是我要打印的方式)

['Name             : _procexe','Id               : 1313','MainWindowTitle  : PROCIMPORTANT SOMEDATE','MainWindowHandle : 666666','StartTime        : 01-01-1971 01:16:25']

现在要打印它,我使用此命令

[print(x) for x in data_stream]

这出来

>>> [print(x) for x in data_stream]
Name             : _procexe
Id               : 1313
MainWindowTitle  : PROCIMPORTANT SOMEDATE
MainWindowHandle : 666666
StartTime        : 01-01-1971 01:16:25
[None,None,None]

我通常检查None元素,这些元素不应存在,是否需要存在,因此在脚本中我没有注意到它。

这让我感到困惑,为什么会在末尾附加这样的列表。

我也尝试过用英语和西班牙语进行谷歌搜索,这样做确实很奇怪,因为我问其他主题的各种方式不断出现。

l13952781422 回答:为什么解释器中的Python3生成器最后返回None List?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3132557.html

大家都在问