Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2008 07:28:54

Spektr
От:
Зарегистрирован: 2008-05-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод переменной на вход программы

Как послать некорую строку из переменной питона например в grep?

То есть нужен аналог вот этого.

ls | grep test

где в место вывода ls на вход grep, используется некоторая строка в переменной.



Офлайн

#2 Май 14, 2008 09:59:28

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод переменной на вход программы

poltergeist@mag:/tmp$ python2.5 -c "print __import__('test').text" | grep test
some test
end of tests
poltergeist@mag:/tmp$ cat test.py

text = 'some test\nsecond line\nend of tests'

poltergeist@mag:/tmp$



Офлайн

#3 Май 14, 2008 11:19:21

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод переменной на вход программы

'|' перенапрвляет stdout ls в stdin grep, поэтому можно еще воспользоваться модулем subprocess или popen2



Офлайн

#4 Май 14, 2008 22:21:45

Spektr
От:
Зарегистрирован: 2008-05-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод переменной на вход программы

Угу все оказалось просто.

var1='test'
proc = subprocess.Popen(“shellcommand”, shell=True, stdin=subprocess.PIPE)
proc.communicate(var1)



Офлайн

#5 Май 15, 2008 08:42:42

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод переменной на вход программы

А я кажись не правильно понял вопрос:))) туплю…



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version