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:
frompathqueryimportpathqforpinpathq("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:
forpinpathq("yourdir").ext("pyc").is_symlink().but_not(pathq("yourdir/node_modules")): p.remove()