如何知道 Python 编程是不是在探查器下运行?

Posted

技术标签:

【中文标题】如何知道 Python 编程是不是在探查器下运行?【英文标题】:How to know if a python programming is running under a profiler?如何知道 Python 编程是否在探查器下运行? 【发布时间】:2017-07-23 13:02:39 【问题描述】:

有什么方法可以判断Python脚本当前是否在profiler下运行?

我有一个带有 GUI 的程序。我想在探查器下运行时跳过 GUI 部分,以便结果更准确。

【问题讨论】:

这取决于您使用的分析器。您始终可以检测您的分析模块是否已加载,假设您在正常运行代码时不会加载它们。 您还可以检查执行堆栈以检测是否正在执行诸如cProfile.run 之类的函数。如果这是您的程序,您或许可以简单地添加一个--no-gui 命令行选项并在运行分析器时调用该选项。 【参考方案1】:

Explicit is better than implicit. 只需在您的程序中添加一个命令行选项即可禁用 GUI。如果您使用的是argparse

args.add_argument('--no-gui', action='store_true')

【讨论】:

以上是关于如何知道 Python 编程是不是在探查器下运行?的主要内容,如果未能解决你的问题,请参考以下文章

Python 探查器 Statprof 多次出现相同的过程

探查器如何对正在运行的程序进行采样?

急!急!。。。。 python3编程 在用户输入口令时,如何显示*而不是密码?

如何知道 Jupyter notebook 中运行的是哪个 Python?

用于长时间运行代码的 gevent 探查器

shell编程之基本bash命令