【问题标题】:Avoiding a pylint warning about dash in python script name避免在 python 脚本名称中出现关于破折号的 pylint 警告
【发布时间】:2018-12-04 11:13:43
【问题描述】:

我正在尝试修复我的代码的所有 pylint 警告,只有一个我无法在不禁用警告或重命名脚本的情况下修复:

C:  1, 0: Invalid module name "foo-bar" (invalid-name)

重命名脚本不是一个选项,因为它的名称是它的公共接口。该脚本以当前名称广泛使用。

这是一个顶级程序。该文件不打算用作模块。如果我决定将其作为单元测试模块导入,我可以使用__import__("foo-bar"),但不支持其他导入。

有什么好办法告诉 pylint 它是一个顶级脚本,而不是一个模块?

【问题讨论】:

    标签: python pylint


    【解决方案1】:

    您需要在 CLI 或您的 pylintrc 文件中覆盖 module-rgx 选项以允许 -s。欲了解更多信息,请查看the docs

    【讨论】:

    • 这是个好建议。缺点是在模块文件中不会检测到-。但我可以制作一个正则表达式来专门允许已知名称。正确且最新的 URL 是 pylint.readthedocs.io/en/latest/user_guide/options.html
    • 所有 python 文件都是 pylint 的模块,包括可执行文件......因为它们是 python 的模块。您正在做出语言和 pylint 都没有的区别。
    • 实际上python确实区分了顶级脚本和模块,因为顶级脚本被命名为'main',所有其他模块都根据它们的文件名命名.这还有其他含义,例如搜索路径将包括包含目录...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 2016-07-16
    • 2021-02-28
    • 2021-04-29
    相关资源
    最近更新 更多