对指定文件名递归使用Pylint

13 投票
3 回答
6413 浏览
提问于 2025-04-16 19:03

我有一个Django项目,现在正在用Pylint来检查代码。

在这个过程中,我遇到了一些情况,想要递归地找到所有特定名称的文件,并用不同的选项来检查它们。比如,我想给urls.py和admin.py设置不同的检查选项。

下面的代码可以在一个目录下正常工作……

pylint ./project_name/*/urls.py

但我想让这个*变成递归的,也就是说,它能深入到子目录里去。

有没有办法做到这一点呢?


更新
我还希望所有的检查结果能作为一个整体输出,而不是一个接一个地显示。

3 个回答

3
  • 获取所有的 Python 文件(递归查找)
  • 一次性把它们都传给 pylint(来自 Robin 的回答)
  • 在控制台显示输出,并把结果保存到一个文件里

find . -name "*.py" -print0 | xargs -0 pylint 2>&1 | tee err_pylint.rst~

4

试试用 find 命令:

find ./project_name/ -name "urls.py" -exec pylint '{}' \;

如果你想在一次调用 pylint 的时候运行多个文件:

find ./project_name/ -name "urls.py" -exec pylint '{}' +
15

根据你使用的操作系统,你可以使用:

find project_name -name urls.py | xargs pylint

撰写回答