首先,我像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, None]
我通常检查None
元素,这些元素不应存在,是否需要存在,因此在脚本中我没有注意到它。
这让我感到困惑,为什么会在末尾附加这样的列表。
我也尝试过用英语和西班牙语进行谷歌搜索,这样做确实很奇怪,因为我问其他主题的各种方式不断出现。