阅读以下所有内容后,我找不到答案:

  • PEP 338 Executing modules as scripts
  • runpy标准模块的
  • documentation
    Python解释器的-m选项
  • description

    理由:
    当运行不带-m选项的使用相对导入的测试脚本时,我可以打印警告消息,而不是将导致ValueError: Attempted relative import in non-package异常的标准回溯留给用户。在不知道这一点的情况下,我可以捕获此异常,并且只有表示缺少-m选项可能是错误的原因。

    最佳答案

    另一个观察结果是,直接执行脚本时__package__设置为None,使用-m时设置为包名称(当模块未包含在任何包中时使用空字符串,因此它与None仍然不同)。

    关于python - 如何知道python脚本是否使用解释器的-m选项运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8348726/

  • 10-14 18:25