On Wed, May 28, 2008 at 9:50 AM, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> Hello,
> I have been looking at using Beautifulsoup python module to make
> changes to some static html files a total of 167 files, but being a
> newb in programming was wondering first how to open, read/process the
> file, then write it, close it and then open the next file thus creating
> the loop.

I guess this is the simplest possible loop to do something to each
file in a directory. You would call processDir() with the path to the
directory to process. Define a function doSomethingWith() that takes
the file contents as an argument and returns the new file contents.

import os

def processDir(dirpath):
  for name in os.listdir(dirpath):
    filepath = os.path.join(dirpath, name)
    f = open(filepath)
    data = f.read()
    f.close()

    data = doSomethingTo(data)

    f = open(filepath, 'w')
    f.write(data)
    f.close()

This modifies files in place so you should have a backup. It assumes
everything in the dir is a file; if not you need to check in the loop.

HTH,
Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to