This function is intended to remove unwanted files and dirs from os.walk(). It will return correctly *IF* I leave the 'for fs in fs_objects' statement out (basically leave out the entire purpose of the function).
It's odd, when the program goes into that statment... even when only a 'pass', and nothing else is present, nothing is returned. Why is that? I'm testing Python 2.4 on Linux x86 and WinXP. Results are the same on either platform.
def build_clean_list(self, path):
file_skip_list = ['search_results.txt'] dir_skip_list = ['dev', 'proc', 'Temporary Internet Files']
fs_objects = os.walk(path, topdown=True) ## for fs in fs_objects: ## ## for f in fs[2]: ## if f in file_skip_list: ## print f ## fs[2].remove(f) ## ## for d in fs[1]: ## if d in dir_skip_list: ## print d ## fs[1].remove(d)
return fs_objects
Just to clarify, it's wrong of me to say that 'nothing is returned'... in either case, this is what is returned:
Here's what was returned and its type: ---------------------------------------- <generator object at 0x407dbe4c> <type 'generator'> ----------------------------------------
But, I can't iterate over the returned object when I descend into the for statement I mentioned above.
-- http://mail.python.org/mailman/listinfo/python-list