Здравствуйте.Проблемка в получении вывода родительского для скрипта процесса.
Есть процесс(lighttpd) который запускает скрипт командой "sh -c script" и передает ему свой вывод.
Мне надо получать этот вывод и в зависимости от длинны строки или записывать его или нет.
Если скрипт написан на bash то все работает, и скрипт получает вывод от lighttpd.
Вот простой работающий пример:#!/bin/sh
char="1"
end="2"while [ $char != $end ];
do
read ok
echo $ok >>/var/log/lighttpd/log
doneА вот с помощью питона я получить вывод не могу, причем если запускать скрипт вручную и вводить что-либо, то скрипт работает, если передавать ему значения через "echo | ./script.py" то он тоже работает, а вот от lighttpd уже нет.
Простой неработающий пример:#!/usr/bin/python3
import sys
import time
logfile = open('/var/log/lighttpd/log', mode='at', encoding='UTF-8')while True:
line = input()
# line = sys.stdin()
# line = sys.stdin.read()
# line = sys.stdin.readline()
# line = sys.stdin.readlines()
logfile.write(line) #пишем в файлlogfile.close()
почему так?
написал модератору чтобы удалил, но пока висит...вообщем надо было файл открывать\закрывать в цикле.
#!/usr/bin/python3import sys
while True:
logfile = open('/var/log/lighttpd/log', mode='at', encoding='UTF-8')
line = sys.stdin.readline()
logfile.write(line)
logfile.close()