O_APPEND & O_WRONLY
Chris Gonnerman
chris.gonnerman at newcenturycomputers.net
Tue Dec 11 08:42:44 EST 2001
More information about the Python-list mailing list
Tue Dec 11 08:42:44 EST 2001
- Previous message (by thread): O_APPEND & O_WRONLY
- Next message (by thread): Handling callbacks from COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
----- Original Message ----- From: "waalp" <waalp at pissed.co.uk> > I'm trying to open a file in append mode (using python under ms windows) > if i use the O_APPEND parameter i get a errormessage from the interpreter > like this: > OSError: [Errno 9] Bad file descriptor > > But if i use the O_WRONLY parameter everything goes write. > > But i want to append the file, not overwrite it? > > am i doing something wrong here? Yup, I'm afraid so... see my notes below: > my code: > #!/usr/bin/python > from os import * This is a real bad idea. Just 'import os' and add os. to the beginning of everything... you are overriding builtins with incompatible interfaces. > def writeLog(logMSG): > logfd = open('event.log',O_APPEND) You need to bitwise-OR the O_APPEND and O_WRONLY flags (AFAIK). > write(logfd, logMSG) > close(logfd) > > writeLog('hello world') Why aren't you using the normal Python builtin file functions? I'd write your function like this: ################################## def writeLog(logMSG): log = open("event.log", "a") log.write(logMSG) log.close() writeLog('hello world') ################################## Or even better: ################################## log = None def writeLog(logMSG): global log if log is None: log = open("event.log", "a") log.write(logMSG) log.flush() writeLog('hello world') ##################################
- Previous message (by thread): O_APPEND & O_WRONLY
- Next message (by thread): Handling callbacks from COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list