Can os.path.isfile(x) ever return True after os.remove(x) has successfully completed? (Windows 2003, Python 2.3)
We had a couple of failures in a server application that we cannot yet reproduce in a simple case. Analysis of the code suggests that the only possible explanation is that the following occurs, os.remove(x) .... stuff if os.path.isfile(x): raise "Ooops, how did we get here?" file(x, "wb").write(content) We end up in the raise. By the time we get to look at the system the file is actually gone, presumably because of the os.remove. The "stuff" is a handful of lines of code which don't take any significant time to perform. There are no "try" blocks to mask a failure in the os.remove call. The application is multithreaded so it is possible that another thread writes to the file between the "remove" and the "isfile", but at the end of the failure the file is actually not on the filesystem and I don't believe there is a way that the file could be removed again in this scenario. Regards, Paul -- http://mail.python.org/mailman/listinfo/python-list