You can read char at a time to check for delimiters:
p = Popen(["command", "args"], stdout=PIPE, universal_newlines=True)
tmp = ""
delims = {"#", "!"}
for ch in iter(lambda: p.stdout.read(1), ""):
if ch in delims:
print(tmp)
tmp = ""
else:
tmp += ch
Not the nicest solution, but if you have multiple delimiters, I don’t see many other ways to do this.