Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 20, 2011 20:59:42

Ispoline
От:
Зарегистрирован: 2011-06-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск утилиты (Linux)

Вобщем надо сделать парсер сообщений утилиты 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")
Вобщем хотел бы разобраться



Офлайн

#2 Июнь 21, 2011 14:12:40

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2832
Репутация: +  186  -
Профиль   Отправить e-mail  

Запуск утилиты (Linux)

import subprocess

def run(cmd):
return subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.STDOUT).stdout.read()

tmp = run(["ausearch", "-f", "/new"])



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Июнь 22, 2011 12:54:36

plastun
От:
Зарегистрирован: 2011-01-18
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск утилиты (Linux)

Можно использовать модуль 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'



Офлайн

#4 Июнь 22, 2011 23:06:55

Denis Yagovkin
От:
Зарегистрирован: 2010-10-13
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск утилиты (Linux)

Я в программе использовал следующее:

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



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version