You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
5.1 KiB

diff --git a/numpy/core/tests/test_memmap.py b/numpy/core/tests/test_memmap.py
index ea9d061..a1fba95 100644
--- a/numpy/core/tests/test_memmap.py
+++ b/numpy/core/tests/test_memmap.py
@@ -1,5 +1,5 @@
import sys
-from tempfile import NamedTemporaryFile, mktemp
+from tempfile import NamedTemporaryFile
import os
from numpy import memmap
@@ -31,12 +31,11 @@ class TestMemmap(TestCase):
assert_array_equal(self.data, newfp)
def test_open_with_filename(self):
- tmpname = mktemp('','mmap')
- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
- shape=self.shape)
- fp[:] = self.data[:]
- del fp
- os.unlink(tmpname)
+ with NamedTemporaryFile() as tmp:
+ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
+ shape=self.shape)
+ fp[:] = self.data[:]
+ del fp
def test_attributes(self):
offset = 1
@@ -48,17 +47,16 @@ class TestMemmap(TestCase):
del fp
def test_filename(self):
- tmpname = mktemp('','mmap')
- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
- shape=self.shape)
- abspath = os.path.abspath(tmpname)
- fp[:] = self.data[:]
- self.assertEqual(abspath, fp.filename)
- b = fp[:1]
- self.assertEqual(abspath, b.filename)
- del b
- del fp
- os.unlink(tmpname)
+ with NamedTemporaryFile() as tmp:
+ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
+ shape=self.shape)
+ abspath = os.path.abspath(tmp.name)
+ fp[:] = self.data[:]
+ self.assertEqual(abspath, fp.filename)
+ b = fp[:1]
+ self.assertEqual(abspath, b.filename)
+ del b
+ del fp
def test_filename_fileobj(self):
fp = memmap(self.tmpfp, dtype=self.dtype, mode="w+",
diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py
index db220ec..e845c07 100644
--- a/numpy/core/tests/test_multiarray.py
+++ b/numpy/core/tests/test_multiarray.py
@@ -1587,12 +1587,11 @@ class TestIO(object):
self.x = rand(shape) + rand(shape).astype(np.complex)*1j
self.x[0,:,1] = [nan, inf, -inf, nan]
self.dtype = self.x.dtype
- self.filename = tempfile.mktemp()
+ self.file = tempfile.NamedTemporaryFile()
+ self.filename = self.file.name
def tearDown(self):
- if os.path.isfile(self.filename):
- os.unlink(self.filename)
- #tmp_file.close()
+ self.file.close()
def test_bool_fromstring(self):
v = np.array([True,False,True,False], dtype=np.bool_)
@@ -1620,7 +1619,6 @@ class TestIO(object):
y = np.fromfile(f, dtype=self.dtype)
f.close()
assert_array_equal(y, self.x.flat)
- os.unlink(self.filename)
def test_roundtrip_filename(self):
self.x.tofile(self.filename)
@@ -1753,7 +1751,6 @@ class TestIO(object):
s = f.read()
f.close()
assert_equal(s, '1.51,2.0,3.51,4.0')
- os.unlink(self.filename)
def test_tofile_format(self):
x = np.array([1.51, 2, 3.51, 4], dtype=float)
diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py
index 220cb3d..d580332 100644
--- a/numpy/f2py/__init__.py
+++ b/numpy/f2py/__init__.py
@@ -27,20 +27,20 @@ def compile(source,
from numpy.distutils.exec_command import exec_command
import tempfile
if source_fn is None:
- fname = os.path.join(tempfile.mktemp()+'.f')
+ f = tempfile.NamedTemporaryFile(suffix='.f')
else:
- fname = source_fn
-
- f = open(fname,'w')
- f.write(source)
- f.close()
-
- args = ' -c -m %s %s %s'%(modulename,fname,extra_args)
- c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' %(sys.executable,args)
- s,o = exec_command(c)
- if source_fn is None:
- try: os.remove(fname)
- except OSError: pass
+ f = open(source_fn, 'w')
+
+ try:
+ f.write(source)
+ f.flush()
+
+ args = ' -c -m %s %s %s'%(modulename, f.name, extra_args)
+ c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' % \
+ (sys.executable, args)
+ s, o = exec_command(c)
+ finally:
+ f.close()
return s
from numpy.testing import Tester
diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
index 4e6d258..b9b955a 100755
--- a/numpy/f2py/f2py2e.py
+++ b/numpy/f2py/f2py2e.py
@@ -91,7 +91,7 @@ Options:
--lower is assumed with -h key, and --no-lower without -h key.
--build-dir <dirname> All f2py generated files are created in <dirname>.
- Default is tempfile.mktemp().
+ Default is tempfile.mkstemp().
--overwrite-signature Overwrite existing signature file.
@@ -428,7 +428,7 @@ def run_compile():
del sys.argv[i]
else:
remove_build_dir = 1
- build_dir = os.path.join(tempfile.mktemp())
+ build_dir = tempfile.mkdtemp()
sysinfo_flags = filter(re.compile(r'[-][-]link[-]').match,sys.argv[1:])
sys.argv = filter(lambda a,flags=sysinfo_flags:a not in flags,sys.argv)
--
1.8.5.3