Gerard Flanagan wrote: >Hello > > I'm sure its basic but I'm confused about the error I get with the >following code. Any help on basic tempfile usage? > > >ActivePython 2.4.1 Build 247 (ActiveState Corp.) based on >Python 2.4.1 (#65, Jun 20 2005, 17:01:55) [MSC v.1310 32 bit (Intel)] >on win32 >Type "help", "copyright", "credits" or "license" for more information. > > >>>>from tempfile import NamedTemporaryFile >>>> >>>>tmp = NamedTemporaryFile() >>>>tmp.write("Hello") >>>>tmp.close() >>>> >>>>print tmp.name >>>> >>>> >c:\docume~1\gerard\locals~1\temp\tmpxqn4yl > > >>>>f = open(tmp.name) >>>> >>>> >Traceback (most recent call last): > File "<stdin>", line 1, in ? >IOError: [Errno 2] No such file or directory: >'c:\\docume~1\\gerard\\locals~1\\temp\\tmpxqn4yl' > > >Thanks > >Gerard > > >
It gets created: In [24]: import tempfile In [25]: t = tempfile.NamedTemporaryFile() In [26]: t.name Out[26]: '/tmp/tmp9bmhap' In [27]: ls -l /tmp/tmp* -rw------- 1 jmjones jmjones 0 Nov 22 11:15 /tmp/tmp9bmhap In [28]: t.write("123") In [29]: t.flush() In [30]: ls -l /tmp/tmp* -rw------- 1 jmjones jmjones 3 Nov 22 11:15 /tmp/tmp9bmhap In [31]: t.close() In [32]: ls -l /tmp/tmp* ls: /tmp/tmp*: No such file or directory From the docstring, it gets automatically deleted on close: def NamedTemporaryFile(mode='w+b', bufsize=-1, suffix="", prefix=template, dir=None): """Create and return a temporary file. Arguments: 'prefix', 'suffix', 'dir' -- as for mkstemp. 'mode' -- the mode argument to os.fdopen (default "w+b"). 'bufsize' -- the buffer size argument to os.fdopen (default -1). The file is created as mkstemp() would do it. Returns an object with a file-like interface; the name of the file is accessible as file.name. The file will be automatically deleted when it is closed. """ HTH, - jmj -- http://mail.python.org/mailman/listinfo/python-list