Trent Nelson added the comment: With Chris and Ben's comments taken into account, what's the best way to handle this?
1. Change the test: if the user is not admin, assert os.tmpfile() returns a permission denied OSError, otherwise, assert return value is a current file. 2. Alter posix_tmpfile() to warn the user of the situation if the call fails and we're on Windows: Index: posixmodule.c =================================================================== --- posixmodule.c (revision 61233) +++ posixmodule.c (working copy) @@ -7029,8 +7029,15 @@ FILE *fp; fp = tmpfile(); - if (fp == NULL) + if (fp == NULL) { +#ifdef MS_WINDOWS + PyErr_Warn(PyExc_RuntimeWarning, + "tmpfile creates a file in the root directory and " \ + "requires administrative privileges, consider using " \ + "tempfile.mkstemp() instead"); +#endif return posix_error(); + } return PyFile_FromFile(fp, "<tmpfile>", "w+b", fclose); } #endif 3. Alter posix_tmpfile() to use _tempnam() on Windows instead, such admin privileges are no longer required. (Possibly adding a similar warning that tempfile.mkstemp should be used instead though, as above?) __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2232> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com