On Feb 17, 5:31 pm, Peter Otten <__pete...@web.de> wrote: > Thomas Allen wrote: > > I must not be understanding something. This is a simple recursive > > function that prints all HTML files in argv[1] as its scans the > > directory's contents. Why do I get a RuntimeError for recursion depth > > exceeded? > > > #!/usr/bin/env python > > > import os, sys > > > def main(): > > absToRel(sys.argv[1], sys.argv[2]) > > > def absToRel(dir, root): > > for filename in os.listdir(dir): > > filename = os.path.join(dir, filename) > > > if os.path.isdir(filename): > > absToRel(filename, root) > > else: > > if(filename.endswith("html") or filename.endswith("htm")): > > print filename > > > if __name__ == "__main__": > > main() > > Without the addition for a directory and a subdirectory of the same > name, "dir/dir", os.listdir("dir") has "dir" (the child) in the result list > which triggers an absToRel() call on "dir" (the parent) ad infinitum. > > Peter
I have two problems in this case: 1. I don't know how to reliably map the current filename to an absolute path beyond the top-most directory because my method of doing so would be to os.path.join(os.getcwd(), filename) 2. For some reason, only one folder in the directory gets marked as a directory itself when there are about nine others in the top-most directory. I don't even know where to begin to solve this one. I'm sure the first is an easy answer, but what do I need to do to solve the second? -- http://mail.python.org/mailman/listinfo/python-list