On 23/12/2011 01:07, Mac Smith wrote:

On 23-Dec-2011, at 6:17 AM, MRAB wrote:

On 23/12/2011 00:33, Mac Smith wrote:
Hi,


I have started HandBrakeCLI using subprocess.popen but the output
is multiline and not terminated with \n so i am not able to read
it using readline() while the HandBrakeCLI is running. kindly
suggest some alternative. i have attached the output in a file.

The lines are terminated with \r, so read with read() and then
split on "\r".

read() will read the complete output and than i will be able to parse
it, i want to read the output of the command in realtime.

Try telling it how much to read with read(size):

def read_lines(output, line_ending="\n"):
    buffer = ""

    while True:
        chunk = output.read(1024)
        if not chunk:
            break

        buffer += chunk

        while True:
            pos = buffer.find(line_ending)
            if pos < 0:
                break

            pos += len(line_ending)
            yield buffer[ : pos]
            buffer = buffer[pos : ]

    if buffer:
        yield buffer
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to