Curious issue with simple code

codefire tony.bedford at
Tue Sep 19 19:07:43 CEST 2006


I have some simple code - which works...kind's the 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 os.path

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,


More information about the Python-list mailing list