> I have many python scripts in various directories of 
> varying depth under my home directory, and I need to 
> change one line in each of these files.

personally I'd use find and sed in Linux, right tool 
for the job etc...

But if you really must wheel out a howitzer to shoot 
a squirrel...

> I thought about using os.walk with os.path.join eg
> 
> >>> for r,d,f in os.walk('.'):
> ...     print os.path.join(r,d,f)

Shouldn't that be os.path.walk()?

And os.path.walk takes 3 arguments:
the starting point
a function that it calls
a placeholder for arguments to the function

A simple file printer is:

>>> def f(arg, dir, names): print names
>>> os.path.walk('.', f, None)

In your case you want to write an f() that iterates 
over the names argument and opens each file, does 
a string replacement and closs the file again.

You probably should do some validation on the name 
and file type too...

Thats why I'd use find and sed...

Alan G.

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

Reply via email to