471,073 Members | 1,142 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,073 software developers and data experts.

os.path.isfile() error

Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'

Apr 7 '07 #1
5 7994
7stud wrote:
Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
That should be mydir, not dir.
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'
Apr 7 '07 #2
On Apr 7, 2:56 am, "7stud" <bbxx789_0...@yahoo.comwrote:
Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'
I got it: 'mydir' v. 'dir'
mydir = "/Users/me/2testing"
...
if os.path.isfile(os.path.join(dir, file) )
Apr 7 '07 #3
On Apr 7, 6:56 pm, "7stud" <bbxx789_0...@yahoo.comwrote:
Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'
Re your subject: os.path.isfile is nothing to do with the problem.
As is evident from the traceback, the error (which is in *your* code)
was detected in os.path.join, before os.path.isfile was called.

Looking at the source file (posixpath.py), one sees that the offending
"path" (the builtin function/method with no endswith attribute) is the
first formal arg of os.path.join. You have supplied "dir" as the first
actual arg. dir is a builtin function. You meant "mydir" instead.

BTW, don't use "file" (or the name of any other builtin function) for
your own variables. Use meaningful names -- what you have called
"file" is not a file, it is the name of a file. Get pychecker and/or
pylint and run them over your source periodically. They'll detect not
only shadowing builtins but many other types of actual and potential
gotchas.

HTH,
John

Apr 7 '07 #4
On Apr 7, 4:56 pm, "7stud" <bbxx789_0...@yahoo.comwrote:
Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'
is 'dir' defined? or is it 'mydir'?

Apr 7 '07 #5
mi*******@gmail.com wrote:
On Apr 7, 4:56 pm, "7stud" <bbxx789_0...@yahoo.comwrote:
>Here's the code:
------------
import os, os.path, pprint

mydir = "/Users/me/2testing"

files = [file for file in os.listdir(mydir)]
pprint.pprint(files)

print os.path.join(mydir, "helloWorld.py")

files = [file
for file in os.listdir(mydir)
if os.path.isfile(os.path.join(dir, file) )
]

pprint.pprint(files)
----output:----------------

['.DS_Store', 'cpTest', 'dir1', 'testfile1', 'xmlFile.xml']
/Users/me/2testing/helloWorld.py
Traceback (most recent call last):
File "test1.py", line 16, in ?
files = [file
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/posixpath.py", line 62, in join
elif path == '' or path.endswith('/'):
AttributeError: 'builtin_function_or_method' object has no attribute
'endswith'

is 'dir' defined? or is it 'mydir'?
[this is for 7stud, not for the poster] Clearly it should be 'mydir',
but 'dir' is also defined - it's a built-in function, which is why it
has no 'endswith' method.

regards
Steve

--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Recent Ramblings http://holdenweb.blogspot.com

Apr 7 '07 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by kimes | last post: by
70 posts views Thread by Michael Hoffman | last post: by
2 posts views Thread by Rob Cowie | last post: by
6 posts views Thread by NickP | last post: by
10 posts views Thread by wo_shi_big_stomach | last post: by
10 posts views Thread by ppaterson | last post: by
2 posts views Thread by 7stud | last post: by
reply views Thread by Gabriel Genellina | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.