Searching for the best scripting language,

Carl Banks imbosol at aerojockey.com
Tue Jun 15 12:27:31 EDT 2004


David Eppstein <eppstein at ics.uci.edu> wrote in message news:<eppstein-C44C69.17103814062004 at news.service.uci.edu>...
> In article <FXpzc.96175$DG4.66965 at fe2.columbus.rr.com>,
>  Carl Banks <imbosol at aerojockey.invalid> wrote:
> 
> > >    Ok, see, here's the thing.  I look at the Ruby code and can kind
> > > of follow it.  I look at the Python code and can kind of follow it.
> > > but in neither case have I, in glancing here and there today, been
> > > able to decipher exactly what is going on.  Care to show the 5 line
> > > long form to see if I get that?  No explination, just curious to see
> > > if I can get it reading real code instead of hacked up line noise.
> > 
> > Of course you can.
> > 
> >     import glob
> >     import os
> >     import re
> > 
> >     f = {}
> >     for pattern in ("*.rar.*","*.r[0-9][0-9].*"):
> >         for listing in glob.glob(prefix+pattern):
> >             f[listing] = None
> >     for filename in f:
> >         os.system("cat %s.* > %s" % (sesc(filename),sesc(filename)))
> > 
> > 
> > I don't know what sesc is.  I assume he had defined it elsewhere,
> > because he said this was only part of a script he wrote (and that's
> > what scares me--I can understand a throwaway one-liner looking like
> > this, but not a line in a script).
> 
> As long as we're cleaning up code, how about
> 
>     import glob, os, sets
>     f = Set()
>     for pattern in ("*.rar.*","*.r[0-9][0-9].*"):
>         f.update(glob.glob(prefix+pattern))
>     for filename in f:
>         os.system("cat %s.* > %s" % (sesc(filename),sesc(filename)))
> 
> Now it's not even much longer than the original unreadable mess...

I just noticed that I mistakenly left out the regexp in my clean code.
 Where I had f[listing] = None, I should have
f[re.sub(r"\.\d+[\d.-]*$","",listing)] = None, or an extra varible.


-- 
CARL BANKS



More information about the Python-list mailing list