Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detect from a running python script if the optimize flag is -O or -OO

Tags:

python

flags

sys

Sometime I'd like to spawn a child process with the same optimization flags used to start the parent.

I can use something like:

optimize = not __debug__

But this way I match both -O and -OO flags.

Is there some python internal status that contains that info?

like image 852
naufraghi Avatar asked Jun 26 '13 10:06

naufraghi


1 Answers

After some digging in the documentation I've found that the sys.flags struct sequence (http://docs.python.org/dev/library/sys#sys.flags) that has an optimize attribute containing the information I was searching for.

python -c "import sys; print sys.flags.optimize" -> 0

python -O -c "import sys; print sys.flags.optimize" -> 1

python -OO -c "import sys; print sys.flags.optimize" -> 2

like image 50
naufraghi Avatar answered Sep 27 '22 16:09

naufraghi