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 pathquery
for path in pathquery("yourdir").ext("js") - pathquery("yourdir/node_modules"):
path.chmod(0755)
To use:
$ pip install pathquery
Path properties can be inspected as part of the query:
pathquery("yourdir").is_dir()
pathquery("yourdir").is_not_dir()
pathquery("yourdir").is_symlink()
pathquery("yourdir").is_not_symlink()
Queries are also chainable:
for path in pathquery("yourdir").ext("pyc").is_symlink() - pathq("yourdir/node_modules"):
path.remove()