gpp (conditional compilation)
Duncan Booth
duncan.booth at invalid.invalid
Wed May 2 13:45:40 EDT 2007
"maxwell at ldc.upenn.edu" <maxwell at umiacs.umd.edu> wrote:
> I'm trying to use the gpp utility (Gnu points to
> http://en.nothingisreal.com/wiki/GPP) to do conditional compilation in
> Python, and I'm running into a problem: the same '#' character
> introduces Python comments and is used by default to introduce #ifdef
> etc. lines.
>
> Here's an example of what I'm trying to do:
>
> #ifdef DEBUG
> stderr.write("variable is...") #details of msg omitted
> #endif
>
Why do you want conditional compilation. Is there anything wrong with:
if __debug__:
stderr.write("variable is...") #details of msg omitted
If you run Python with the -O command line option the code protected by the
if statement will be optimised out.
For most other purposes where you might use conditional compilation just
adding 'if' statements to execute at runtime (or try/except) will do the
same purpose:
if sys.platform=='win32':
def foo():
... something ...
else:
def foo():
.... something different ...
More information about the Python-list
mailing list