Mypy-仅为指定文件生成报告

  • 本文关键字:报告 文件 Mypy- python mypy
  • 更新时间 :
  • 英文 :


我在这里查看文档:

有没有一种方法可以在做报告时忽略某些文件?我看到一些我不想报告的文件,我想知道是否可以进行运行时配置或做一些忽略它们的事情。

是。

你可以忽略整个软件包(参见这个问题和相关的Github问题(。

在这个GitHub问题中只讨论了忽略一个文件,该问题推荐了其他方法来实现相同的结果(@no_type_check函数装饰器,检查Python版本,自定义mypy调用脚本,…(,并作为13天前(2021-06-10(由Guido关闭的另一个问题的副本关闭;这似乎并没有那么重要";,尽管PEP484规定:

#type:在任何文档字符串、导入或其他可执行代码之前,忽略文件顶部一行上的注释,从而消除文件中的所有错误。

在另一个相关的GitHub问题中,有人提到,自版本0.810(2021-02-10(以来,有一个命令选项:--exclude(cf commit(

一个正则表达式,它匹配mypy在递归查找要检查的文件时应该忽略的文件名、目录名和路径。在所有平台上使用斜杠。

这是我的设置:

# file: ok.py
a: int = 4
# file: bad.py
a: int = "definitively not an integer"
  • 与MyPy v0.800:

    $ mypy . --txt-report report0800; cat report0800/index.txt
    bad.py:2: error: Incompatible types in assignment (expression has type "str", variable has type "int")
    Generated TXT report (via XSLT): /home/stack_overflow/PyCharmProjects/68071098/report0800/index.txt
    Found 1 error in 1 file (checked 2 source files)
    Mypy Type Check Coverage Summary
    ================================
    Script: index
    +-----+-------------------+-------+
    | Module | Imprecision       | Lines |
    +-----+-------------------+-------+
    | bad |   0.00% imprecise | 2 LOC |
    | ok  |   0.00% imprecise | 2 LOC |
    +-----+-------------------+-------+
    | Total |   0.00% imprecise | 4 LOC |
    +-----+-------------------+-------+
    
  • 与MyPy v0.812:

    $ mypy . --txt-report report0812 --exclude 'bad.py'; cat report0812/index.txt
    Generated TXT report (via XSLT): /home/stack_overflow/PyCharmProjects/68071098/report0812/index.txt
    Success: no issues found in 1 source file
    Mypy Type Check Coverage Summary
    ================================
    Script: index
    +----+-------------------+-------+
    | Module | Imprecision       | Lines |
    +----+-------------------+-------+
    | ok |   0.00% imprecise | 2 LOC |
    +----+-------------------+-------+
    | Total |   0.00% imprecise | 2 LOC |
    +----+-------------------+-------+
    

我尝试了一个真实的项目,regex行为似乎很挑剔(或者可能我对文档理解不太好(,但它仍然有效。

相关内容

  • 没有找到相关文章

最新更新