Форум сайта python.su
Вобщем надо сделать парсер сообщений утилиты ausearch
сам парсер вроде готов а вот запуск утилиты вызывает зависание скрипта
Использую следующий код
import subprocess
def run(cmd):
PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT)
return p.stdout.read()
tmp = run("ausearch -f /new")
Офлайн
import subprocess
def run(cmd):
return subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.STDOUT).stdout.read()
tmp = run(["ausearch", "-f", "/new"])
Офлайн
Можно использовать модуль commands. Например:
In [1]: import commands
In [2]: output = commands.getoutput('ls -t /tmp')
In [3]: output
Out[3]: 'orbit-user\nhsperfdata_user\ntest.py\npulse-PKdhtXMmr18n\nvirtual-user.VA6zP1\nvmware-user\npulse-dDWe8cdrIzZr\nkeyring-uxioAd\nssh-VSyDAs1825\norbit-gdm\nvmware-root\nVMwareDnD'
Офлайн
Я в программе использовал следующее:
urpm = "'urpmi %s'" % inst
cmd = 'lxterminal --command=%s' % (urpm)
PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE,
stderr=subprocess.STDOUT, close_fds=True)
while True:
s = p.stdout.readline()
if not s: break
print s,
break
Офлайн