> 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