I am working on a script to recursively go through subfolders in a mainfolder and build a list off a certain file type. I am having an issue with the script. Its currently set as follows
for root, subFolder, files in os.walk(PATH):
for item in files:
if item.endswith(".txt") :
fileNamePath = str(os.path.join(root,subFolder,item))
the problem is that the subFolder variable is pulling in a list of subfolders rather than the folder that the ITEM file is located. I was thinking of running a for loop for the subfolder before and join the first part of the path but I figured Id double check to see if anyone has any suggestions before that. Thanks for your help!
Best Answer
You should be using the
dirpath
which you callroot
. Thedirnames
are supplied so you can prune it if there are folders that you don't wishos.walk
to recurse into.Edit:
After the latest downvote, it occurred to me that
glob
is a better tool for selecting by extension.Also a generator version
Edit2 for Python 3.4+