我在这里查看文档:
有没有一种方法可以在做报告时忽略某些文件?我看到一些我不想报告的文件,我想知道是否可以进行运行时配置或做一些忽略它们的事情。
是。
你可以忽略整个软件包(参见这个问题和相关的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 v
0.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 v
0.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行为似乎很挑剔(或者可能我对文档理解不太好(,但它仍然有效。