Message196269
When directory exists with a name chosen for new temporary file, OSError with EACCESS errno is thrown on windows, while attempts to chose another name only happen on EEXIST errors.
To reproduce, run
--------------- 8< -----------------
import sys
import tempfile
import os
print sys.platform
print sys.version
# Mock random names to ensure collision.
tempfile._RandomNameSequence = lambda: iter(['a', 'a', 'b'])
d = tempfile.mkdtemp()
print d
try:
print tempfile.NamedTemporaryFile().name
finally:
os.rmdir(d)
--------------- >8 -----------------
Expected result:
win32
2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
...\tmpa
...\tmpb
Actual result:
win32
2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
c:\users\shcher~1\appdata\local\temp\tmpa
Traceback (most recent call last):
File "hz.py", line 13, in <module>
print tempfile.NamedTemporaryFile().name
File "C:\python_27_amd64\files\lib\tempfile.py", line 454, in NamedTemporaryFile
(fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
File "C:\python_27_amd64\files\lib\tempfile.py", line 235, in _mkstemp_inner
fd = _os.open(file, flags, 0600)
OSError: [Errno 13] Permission denied: 'c:\\users\\shcher~1\\appdata\\local\\temp\\tmpa' |
|
Date |
User |
Action |
Args |
2013-08-27 08:58:41 | vlad | set | recipients:
+ vlad |
2013-08-27 08:58:41 | vlad | set | messageid: <1377593921.13.0.684885433639.issue18849@psf.upfronthosting.co.za> |
2013-08-27 08:58:41 | vlad | link | issue18849 messages |
2013-08-27 08:58:40 | vlad | create | |
|