mkstemp on pre-2.3 Python
djw
donald.welch at hp.com
Fri Nov 19 15:10:39 EST 2004
More information about the Python-list mailing list
Fri Nov 19 15:10:39 EST 2004
- Previous message (by thread): mkstemp on pre-2.3 Python
- Next message (by thread): TPG error when using 't' as the first letter of a token
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thank you very much, that was the ticket! -Don Nick Craig-Wood wrote: > djw <donald.welch at hp.com> wrote: >> Hi, c.l.p'ers- >> >> I working on some code that creates a temporary file on Linux. I found >> some code that the BDFL posted previously on the newsgroup and adapted >> it for my use. I can't get the "pre-2.3" code to work. >> >> >> try: >> make_temp_file = tempfile.mkstemp # 2.3+ >> except AttributeError: >> def make_temp_file( suffix='', prefix='', dir='', text=False ): >> #pre-2.3 >> path = tempfile.mktemp( suffix ) >> fd = os.open( path, os.O_WRONLY|os.O_CREAT|os.O_EXCL, 0700 ) >> os.unlink( path ) >> return ( os.fdopen( fd, 'w+b' ), path ) >> >> >> >> Here's the error: >> >> File "utils.py", line 583, in make_temp_file >> return ( os.fdopen( fd, 'w+b' ), path ) >> OSError: [Errno 22] Invalid argument >> >> Anybody have any ideas on what I am doing wrong? > > Replace the os.O_WRONLY with os.O_RDWR and all will be fine > >>>> import tempfile, os >>>> suffix="" >>>> path = tempfile.mktemp( suffix ) >>>> fd = os.open( path, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0700 ) >>>> f = os.fdopen( fd, 'w+b' ) >>>> f > <open file '<fdopen>', mode 'w+b' at 0xb7de7a60> >>>> print >>f, "Hello" >>>> f.seek(0) >>>> f.read() > 'Hello\n' >>>> f.close() >
- Previous message (by thread): mkstemp on pre-2.3 Python
- Next message (by thread): TPG error when using 't' as the first letter of a token
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list