File: class/Workbook/Examples/Lecture10/unmore.py

#!/usr/local/bin/python
# unpack result of "more x y z > f"
# usage: "unmore.py f" or "unmore.py < f"

import sys
marker = ':'*14
try:
    input = open(sys.argv[1], "r")
except:
    input = sys.stdin
output = sys.stdout

while 1:
    line = input.readline()
    if not line:                         # end of file?
        break
    elif line[:14] != marker:            # text line?
        output.write(line)
    else:                                # file prefix
        fname = input.readline()[:-1]    # strip eoln ('\n')
        print 'creating', `fname`
        output = open(fname, "w")        # next output

        line = input.readline()          # end of prefix
        if line[:14] != marker:
            print "OOPS!"; sys.exit(1)

print 'Done.'



[Home page] Books Code Blog Python Author Train Find ©M.Lutz