Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Marko Rauhamaa Newsgroups: comp.lang.python Subject: Re: non printable (moving away from Perl) Date: Fri, 11 Mar 2016 14:47:33 +0200 Organization: A noiseless patient Spider Lines: 27 Message-ID: <8737rxgp0a.fsf@elektro.pacujo.net> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="b7cb1518d23ec19d482dcc9c31d30fdd"; logging-data="20886"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19L6prLuTZEaE1tIGI9WWP0" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cancel-Lock: sha1:dNtKkLj/9B466E8BmerY7B03thE= sha1:VEmDX+AFojsnLVM8Yy9lbiXp/3Y= Xref: csiph.com comp.lang.python:104614 Wolfgang Maier : > On 11.03.2016 13:13, Wolfgang Maier wrote: >> One lesson for Perl regex users is that in Python many things can be >> solved without regexes. How about defining: >> >> printable = {chr(n) for n in range(32, 127)} >> >> then using: >> >> if (set(my_string) - set(printable)): >> break >> > > Err, I meant: > > if (set(my_string) - printable): > break > > of course. No need to attempt another set conversion. Most non-ASCII characters are printable, or at least a good many. Unfortunately, "printable" doesn't seem to be a Unicode category. Marko