如果optimize标志是-O或-OO,则从正在运行的python脚本中检测

时间:2013-06-26 10:40:46

标签: python flags sys

有时候我想用一个用于启动父级的相同优化标志来生成子进程。

我可以使用类似的东西:

optimize = not __debug__

但是这样我匹配-O-OO标志。

是否有一些包含该信息的python内部状态?

1 个答案:

答案 0 :(得分:10)

在对文档进行一些挖掘之后,我发现sys.flags结构序列(http://docs.python.org/dev/library/sys#sys.flags)具有optimize属性,其中包含我正在搜索的信息。

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