PathQuery is a tool to declaratively define file searches that returns a list of path.py Path objects.
Search for all files recursively except in the node_modules folder and change its perms:
from pathquery import pathq
for p in pathq("yourdir").ext("js").but_not(pathq("yourdir/node_modules)):
p.chmod(0755)
To use:
$ pip install pathquery
Path properties can be inspected as part of the query:
pathq("yourdir").is_dir()
pathq("yourdir").is_not_dir()
pathq("yourdir").is_symlink()
pathq("yourdir").is_not_symlink()
Queries are also chainable:
for p in pathq("yourdir").ext("pyc").is_symlink().but_not(pathq("yourdir/node_modules")):
p.remove()