У меня есть скрипт Python со следующими двумя строками кода (а также другими строками), работающими на сервере Linux:
proc = subprocess.Popen(['last', '-F'], stdout=subprocess.PIPE, shell=True)
(output, err) = proc.communicate()
Когда я запускаю last -F
из командной строки на сервере(Linux), все отлично.Переключатель -F
переводит даты в более стандартизированный формат.(Я полагаю, это означает «полный», поэтому год не пропущен, даже если это текущий год.)
Однако, когда я запускаю свой сценарий, Попен определенно не вызывает -F
переключатель.Информация о дате, которую я получаю, определенно не "полная".Кто-нибудь видит, что здесь происходит не так?Возможно, стоит отметить, что я пробовал и shell=True
, и shell=False
, но опция -F
, похоже, не действует в любом случае.
- EDIT -
Тип вывода, который я получаю:
mlecoz pts/4 10.31.202.4 Sat May 19 13:46 still logged in
Тип вывода, который я хочу (важно для анализа):
mlecoz pts/4 10.31.202.4 Sat May 19 13:46:34 2018 still logged in