Чтение выходных данных journalctl с использованием подпроцесса Python

Я пытаюсь прочитать последние 600 секунд системного журнала из journalctl в Python. Из командной строки это работает:

~ $ journalctl --since='600 seconds ago' --no-pager -p6..6
-- Logs begin at Sat 2016-05-28 09:43:08 CEST, end at Sun 2016-05-29 10:43:30 CEST. --
May 29 10:41:57 rbian dhclient[234]: DHCPREQUEST on eth0 to 10.0.1.2 port 67
May 29 10:41:57 rbian dhclient[234]: DHCPACK from 10.0.1.2
May 29 10:41:57 rbian dhclient[234]: bound to 10.0.1.11 -- renewal in 3177 seconds.

Тем не менее, когда я пытаюсь сделать это в Python с использованием подпроцесса, я получаю это:

~ $ python
Python 2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.Popen(["journalctl", "--since", "'600 seconds ago'", "--no-pager", "-p", "6..6"], stdout=subprocess.PIPE).stdout.read()
Failed to parse timestamp: '600 seconds ago'
''
>>>

Итак, что с этим? Что мне не хватает?

1 ответ

Это потому, что вы дважды указали свое время:

      "'600 seconds ago'"

поэтому удалите внутренние кавычки следующим образом:

      "600 seconds ago"
Другие вопросы по тегам