对指定文件名递归使用Pylint
我有一个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