On Oct 31, 4:01 pm, John Salerno <[EMAIL PROTECTED]> wrote: > What is the best way to check if a file already exists in the current > directory? I saw os.path.isfile(), but I'm not sure if that does more > than what I need. > > I just want to check if a file of a certain name exists before the user > creates a new file of that name.
You could be more "pythonic", and simply try to create the file, catching the exception if if fails. This works on linux: try: newfd = os.open('foobar', os.O_EXCL | os.O_CREAT) new_file = os.fdopen(newdf) except OSError, x: if x[1] == 'File exists': handle_file_exists() [but beware unreliable on an NFS file system, from "man open": O_EXCL is broken on NFS file systems, programs which rely on it for performing locking tasks will contain a race condition. The solution for performing atomic file locking using a lockfile is to create a unique file on the same fs (e.g., incorporating hostname and pid), use link(2) to make a link to the lockfile. If link() returns 0, the lock is successful. Otherwise, use stat(2) on the unique file to check if its link count has increased to 2, in which case the lock is also successful.] -- http://mail.python.org/mailman/listinfo/python-list