csh стандартный ввод в Python стандартный ввод? - PullRequest
2 голосов
/ 29 августа 2011

Как вы перенаправляете стандартный сценарий csh на стандартный сценарий python?

У меня есть сценарий cgi, который я пишу на csh, который работает на компьютере Solaris.Этот сценарий csh является оберткой для сценария python, который читает данные из stdin (я знаю, сценарии в csh плохие, но я вынужден в этом случае).

Спасибо за помощь!(И извините за вопрос n00b!)

Ответы [ 2 ]

6 голосов
/ 29 августа 2011

test.csh

#!/bin/env csh
python test.py

test.py (см. этот вопрос )

#!/bin/env python
import fileinput

if __name__ == '__main__':
    print "Hi. printing stdin"
    for line in fileinput.input():
        print line

    print "fin"

Затем стандартное значение test.csh передается test.py как сказал Хеннинг .

echo "this is stdin" | csh test.csh
3 голосов
/ 29 августа 2011

Вам не нужно ничего делать.Команды (например, сценарий Python), которые вы запускаете из оболочки (например, csh), будут наследовать stdin оболочки (и stdout, stderr) по умолчанию , если вы не предпримете какие-либо активные действия, чтобы предотвратить это.

...