Python: linhas separadas, incluindo o período ou a marca de excalamão e imprimi -lo no prompt.

with open("file.txt") as f:
    out = []
    for line in f:
        for word in line.split():
            out.append(word)
            if word.endswith(('.', '!')):
                print(' '.join(out)+'\n')
                out.clear()
Lazy Lizard