You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在项目中对所有.py文件运行mypy?

如何用文件掩码/通配符让mypy检查所有.py文件

嘿,这个需求其实很容易实现,mypy对通配符和目录扫描的支持很灵活,给你几种常用的方案:

  • 直接用通配符匹配文件
    如果想检查当前目录下所有.py文件,直接运行:

    mypy *.py
    

    要是需要递归检查所有子目录里的.py文件,用递归通配符**就行。不过这里要注意shell的差异:

    • 如果你的shell支持globstar(比如bash开启后、zsh),可以直接跑:
      mypy **/*.py
      
    • 如果shell不支持,或者怕shell提前展开通配符出问题,把通配符用引号括起来,让mypy自己处理递归匹配:
      mypy "**/*.py"
      
  • 直接指定目录(更简洁的方式)
    其实不用写复杂的通配符,直接给mypy指定项目里的目录路径,它会自动递归扫描目录下所有的.py文件。比如你的项目有src和tests两个核心目录,只需要:

    mypy src tests
    

    这种方式更清晰,尤其是当你有多个固定目录需要检查时。

  • 用配置文件固化检查范围(适合长期项目)
    要是不想每次命令行都输入路径,可以在项目根目录创建mypy.ini或者pyproject.toml配置文件,指定要检查的文件/目录。比如在pyproject.toml里添加:

    [tool.mypy]
    files = ["src/**/*.py", "tests/**/*.py", "scripts/*.py"]
    

    之后直接运行mypy命令,它就会自动按照配置里的路径去检查所有匹配的.py文件了。

另外补充个小技巧:如果有一些不需要检查的文件(比如虚拟环境目录、临时脚本),可以用--exclude参数排除,或者在配置文件里加exclude项,比如:

mypy "**/*.py" --exclude "venv/*" --exclude "temp/*.py"

内容的提问来源于stack exchange,提问作者Notbad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:11:28