[Python-Dev] Proposed new module for the Python library

Steven D. Majewski sdm7g@Virginia.EDU
Fri, 3 Aug 2001 00:20:42 -0400 (EDT)


On Thu, 2 Aug 2001, Eric S. Raymond wrote:

> No.  The existing code in the fileinput module is intended to treat a
> sequence of files as one continuous input source.  My module is
> designed to iterate over files, transforming each one to a
> corresponsing named output file. 

 I did a FileUtil module for MacPython -- perhaps it was more 
complicated because it did all of the GUI also -- progress dialog
with info lines and a  cancel button, message boxes on errors, etc. 
You could drop a folder full of files on it and it would iterate 
thru them. 

 But I found it difficult to generalize sufficiently -- there was 
not only different file processing methods to be defined, there 
were different input/output filename transformation rules, different
message templates, different file selection rules, etc. Still -- it was
useful, but I think I kept fiddling with it almost every time I used it. 

 I think I started with a function that was passed a process callback
 function. 

 It ended up a class that could be extended for each particular 
   file processing job. 

 But I think if I did it again now, I'ld use some sort of generator. 
 There was some discussion of this: that the os.path.walk way of
 iterating with callbacks is really inside-out. 
 
 Nested generators might be a handier building block for this sort
  of job -- kind of the python equivalent of a unix pipeline command. 
 
-- Steve