微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mypy- 仅针对指定文件生成报告

如何解决Mypy- 仅针对指定文件生成报告

我正在查看文档 here

有没有办法在制作报告时忽略某些文件?我看到了一些我不想报告的文件,我想知道我是否可以进行运行时配置或其他东西来忽略它们。

解决方法

是的。

您可以忽略整个包(参见此 question 和相关的 Github issue)。

在此 GitHub issue 中讨论了仅忽略文件,它推荐了其他方法来实现相同的结果(函数的 @no_type_check 装饰器、检查 Python 版本、自定义 mypy 调用脚本等)和已作为此 other issue 的副本关闭,该 PEP 484 恰好在 13 天前 (2021-06-10) 被 Guido 关闭,因为“它似乎并不那么重要”,尽管 GitHub issue 声明:

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

在另一个相关的 --exclude 中,有人提到自版本 0.810 (2021-02-10) 起就有一个命令选项:commit (cf https://stackoverflow.com/a/4844073/2528471)

匹配文件名、目录名和路径的正则表达式,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 |
    +----+-------------------+-------+
    

我尝试了一个真正的项目,正则表达式的行为似乎很挑剔(或者我可能不太了解文档),但它仍然有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?