Curious issue with simple code
richard at sneakerfish.com
Tue Sep 19 19:29:23 CEST 2006
You're not in that directory (start_dir) when the isfile() function is
called. See function os.path.curdir() and os.chdir(). Also, you may be
confusing the behavior of os.path.walk(), in which the function called will
happen once you have been chdired to the directory it is examining.
Hope this was helpful.
From: python-list-bounces+richard=sneakerfish.com at python.org
[mailto:python-list-bounces+richard=sneakerfish.com at python.org] On Behalf Of
Sent: Tuesday, September 19, 2006 1:08 PM
To: python-list at python.org
Subject: Curious issue with simple code
I have some simple code - which works...kind of..here's the code:
for f in os.listdir(start_dir):
fp = os.path.join(start_dir, f)
if os.path.isfile(fp): # will return false if use f here!
if os.path.splitext(fp) == '.html':
print 'html file found!'
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