I think you want to be doing something like: >>>for r,d,f in os.walk('.'): ... for filename in f: ... print os.path.join(r,filename)
I think that would give you the full path of every file, and then you can open it, do a regex substitution or whatever close it and keep going. Thanks, Ryan -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nick Lunt Sent: Friday, January 07, 2005 5:32 PM To: python tutor Subject: [Tutor] walking directories Hi folks, Im running python2.4 on linux. 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. 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) but I get this error Traceback (most recent call last): File "<stdin>", line 2, in ? File "/usr/local/lib/python2.4/posixpath.py", line 60, in join if b.startswith('/'): AttributeError: 'list' object has no attribute 'startswith' which makes sense. I know I can use glob.glob on the current directory, but Im struggling to see how I can access these files, change them and save the changes. Im also a little annoyed with myself cos I feel that I really should know how to do this by now. If anyone can just give me a pointer in the right direction I would be very grateful. Many thanks Nick . _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor