如何在mypy.ini中使用exclude排除所有test目录?
在mypy.ini中排除所有test目录的配置方法
要在mypy中排除所有位置的test目录,你需要使用正则表达式而非shell通配符来配置exclude选项——因为mypy的exclude字段遵循正则语法,不是shell的*匹配规则。
正确的配置写法
在你的mypy.ini文件中,添加以下内容:
[mypy] exclude = ^(.*\/)?test\/
配置说明
这个正则表达式的含义:
^:匹配路径的开头(.*\/)?:匹配"任意字符+斜杠"的组合,?表示这部分可以不存在(对应根目录下的test/)test\/:精确匹配test/目录(末尾的斜杠确保匹配的是目录而非名为test的文件)
多行可读性写法
如果想让配置更易读,可以使用正则的忽略空白模式((?x)),拆分规则:
[mypy] exclude = (?x) ^test/ # 匹配根目录下的test目录 |^.*/test/ # 匹配任意子目录下的test目录
验证你的目录结构
对于你给出的目录:
src/foo/test/:会被^.*/test/匹配test/:会被^test/匹配
这两个目录下的所有文件都会被mypy忽略检查。
内容的提问来源于stack exchange,提问作者el_jorgemo
相关产品推荐
相关产品推荐

