Во-первых, я взял Python, как 3 года назад, и мне это нравится. Обычно я просто использую прямой подход и тестирую код, пока набираю его в 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
элементов, которыене должно быть там, и если они должны быть там, поэтому я не заметил этого в своих сценариях.
Меня просто сбивает с толку, почему он добавляет такой список в конце.
Также яЯ попытался найти его на английском и испанском языках, и это действительно странно, потому что каждый раз, когда я спрашиваю другие темы, продолжаю появляться.