Curious issue with simple code

codefire tony.bedford at gmail.com
Tue Sep 19 13:07:43 EDT 2006


Hi,

I have some simple code - which works...kind of..here's the code:

[code]
import os

def print_tree(start_dir):
    for f in os.listdir(start_dir):
        fp = os.path.join(start_dir, f)
        print fp
        if os.path.isfile(fp): # will return false if use f here!
            if os.path.splitext(fp)[1] == '.html':
                print 'html file found!'
        if os.path.isdir(fp):
            print_tree(fp)

print os.path
print_tree(r'c:\intent\docn')
[/code]

As above it all works as expected. However, on the marked line, if I
use f instead of fp then that condition returns false! Surely,
isfile(f) should return true, even if I just give a filename, rather
than the full path? 

If anyway can explain this I'd be grateful,

Tony




More information about the Python-list mailing list