[Tutor] string.unprintable?
Neil Schemenauer
nas-pytut at python.ca
Fri Nov 21 13:16:22 EST 2003
On Fri, Nov 21, 2003 at 11:03:54AM -0500, Clay Shirky wrote:
> I want to loop over a file with some printable and some binary lines,
> printing the former.
>
> What I really want is
>
> for line in file("spam"):
> if string.unprintable in line:
> continue
> print line
No, you don't. "string.unprintable in somestring" is a substring
test.
> but there is no string.unprintable, and
>
> if not string.printable in line
>
> for some reason matches everything in the file, even though I've .strip()ed
> the line aready.
A regex is probably the way to go here. Something like:
find_unprintable = re.compile(r'[\x00-\x08\x0d-\x1f\x7f-\xff]').search
for line in file("spam"):
if not find_unprintable(line):
print line
Too bad there isn't a re character class. I guess "unprintable" may
mean different things to different people. HTH,
Neil
More information about the Tutor
mailing list