[lang-ref] ( accept_pipe_input_and_process_lines_one_by_one ) ( python )

def test_accept_pipe_input_and_process_lines_one_by_one(monkeypatch):
    # for line in sys.stdin: ..
    # This sample shows how to handle `cat a.txt | ./a.py`
    import sys, io

    text = 'A1,B1,C1\nA2,B2,C2\nA3,B3,C3\n'

    monkeypatch.setattr(sys, 'stdin', io.StringIO(text))

    rows = []
    for line in sys.stdin:
        row = line.rstrip('\n').split(',')
        rows.append(row)

    assert rows == [['A1','B1','C1'],['A2','B2','C2'],['A3','B3','C3']]