On Mon, Jun 17, 2002 at 11:02:42PM -0400, Guido van Rossum wrote: >> How about changing os.path.exists for posix to: >> >> def exists(path): >> return(os.access(path, os.F_OK)) > >NO, NO, NOOOOOOO! > >access() does something different. It checks permissions as they F_OK checks to see if the file exists. Am I misunderstanding something in the following test: [2] guin:tmp# cd /tmp [2] guin:tmp# mkdir test [2] guin:tmp# chmod 700 test [2] guin:tmp# touch test/exists [2] guin:tmp# chmod 700 test/exists [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/exists' jafo access: 0 exists: 0 [2] guin:tmp# chmod 111 /tmp/test [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/exists' jafo access: 1 exists: 1 [2] guin:tmp# chmod 000 test/exists [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/exists' jafo access: 1 exists: 1 [2] guin:tmp# chmod 000 /tmp/test [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/exists' jafo access: 0 exists: 0 [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/noexists' jafo access: 0 exists: 0 [2] guin:tmp# chmod 777 /tmp/test [2] guin:tmp# su -c '/tmp/showaccess /tmp/test/noexists' jafo access: 0 exists: 0 The above is run as root, with the su doing the test as non-root. The code in showaccess simply does an os.access and then an os.path.exists and displays the results: [2] guin:tmp# cat /tmp/showaccess #!/usr/bin/env python2 import os, sys print 'access: %d exists: %d' % ( os.access(sys.argv[1], os.F_OK), os.path.exists(sys.argv[1])) Sean -- /home is where your .heart is. -- Sean Reifschneider, 1999 Sean Reifschneider, Inimitably Superfluous <jafo@tummy.com> tummy.com - Linux Consulting since 1995. Qmail, KRUD, Firewalls, Python
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4