> os.access is better/fast that os.path.isfile for checking if exist a file?

I don't think we should judge this primarily as a matter of speed, but a
matter of functionality.  If we do something like:

    os.access(pathname, os.F_OK)

this will tell us if a path name exists.  But note that this doesn't
necessarily mean that pathname is a regular file: it can be a directory
too:

######
>>> import os
>>> os.access("/usr/share/dict/", os.F_OK)
True
>>> os.access("/usr/share/dict/words", os.F_OK)
True
>>> os.access("/foo", os.F_OK)
False
######


On the other hand, os.path.isfile() checks to see if we're looking at a
non-directory file:

######
>>> import os.path
>>> os.path.isfile("/usr/share/dict/")
False
>>> os.path.isfile("/usr/share/dict/words")
True
>>> os.path.isfile("/foo")
False
######

So they do different things.


The intent that you're trying to express is what you should use to choose
between the two: what do you really want to check for?


Hope this helps!

_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to