此Bash脚本遍历/ app目录中的每个文件。
这是树层次结构
/app
_/a
-/b
-/test/unittest/python/test.py
问题是,我不想执行皮棉步骤。 如何排除测试目录?
...
for file in $(find /app -name '*.py'); do
filename=$(basename $file)
if [[ $filename != "__init__.py" ]] ; then
echo "$file"
pylint "${file}" --rcfile="${lint_path}" || exit 1
fi
done
这是一种解决问题的方法,不确定是否正确。不起作用!
$(find /app -name '*.py' -not -path '*test*')
答案 0 :(得分:1)
使用-prune
选项可以防止进入test
目录。
您还可以在__init__.py
中排除find
,因此您无需使用if
进行测试。
$(find /app -type d -name test -prune -o -type f -name '*.py' ! -name '__init__.py' -print)