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 -- http://mail.python.org/mailman/listinfo/python-list