什么是"python -d"?

eri*_*ork 7 python python-2.7

我认为它是用于激活调试模式,它打印所有logging.debug()消息.但显然这不会发生.文档简单地说:

打开解析器调试输出(仅适用于向导,具体取决于编译选项).另见PYTHONDEBUG.

这不能解释我眼中的任何事情.有人可以给出更详细的解释并验证是否确实没有默认的CPython Argument可以激活调试日志记录?

Ram*_*pte 5

Parser/parser.c:

#ifdef Py_DEBUG
extern int Py_DebugFlag;
#define D(x) if (!Py_DebugFlag); else x
#else
#define D(x)
#endif
Run Code Online (Sandbox Code Playgroud)

当提供调试标志并且在调试模式下编译解释器时,此D宏用于printf()打印调试消息.调试消息适用于Python的开发人员,他们 Python本身的人(不要与Python程序员混淆,他们是使用 Python的人).我已经浏览了Python手册页,但没有一个激活logging调试模式.但是,可以使用-i标志结合-c来实现相同的效果:

python -i -c "import logging;logging.basicConfig(level=logging.DEBUG)"
Run Code Online (Sandbox Code Playgroud)