Rob Andrews wrote: > I should already know this, and probably once did, but have never had > a real world use for it until now. > > What's a nice, clean way to recursively scan through directories with > an arbitrary number of subdirectories?
Jason Orendorff's path module is awesome for this kind of job - it's as easy as this: from path import path basePath = path('C:/stuff/jayfiles') for filePath in basePath.walkfiles('*.txt'): currentFile = open(filePath) # etc Highly recommended. http://www.jorendorff.com/articles/python/path/ Kent > > In today's example, we're looking to grab the file name and third line > of the file for every text file in the directory tree, and dump into a > new text file. Everything but the walking of the tree was obvious > enough. > > We used the following to grab the desired output from a single level > of directories: > > import glob > > for fileName in glob.glob('C:/stuff/jayfiles/*/*.txt'): # glob through > directories > newFile = open('C:/stuff/jayfiles/newFile.txt', 'a') # open > newFile to append > newFile.write(fileName) # append fileName to newFile > newFile.write('\t') # append a tab after fileName > currentFile = open(fileName, 'r') # open next file for reading > currentFile.readline() # this and the following line go through... > currentFile.readline() # ...the 1st 2 lines of the file > thirdLine = currentFile.readline() # modify this to print to text file > newFile.write(thirdLine) # append thirdLine to newFile > currentFile.close() # close currentFile > newFile.close() # close newFile > > -Rob > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor