Запуск autopep8 на всех файлах python, кроме миграций, выполним?
Интересно, есть ли способ запустить команду autopep8 для всех файлов python, кроме миграций? Чтобы исправить все ошибки pep8.
Вместо выполнения команды
autopep8 --in-place --aggressive --aggressive <filename>
Вы можете позволить find
сначала искать файлы, а затем использовать autopep8
на них:
find -type f -name '*.py' ! -path '*/migrations/*' -exec autopep8 --in-place --agressive --agressive '{}' \;
Здесь find
таким образом ищет файлы, которые соответствуют шаблону *.py
glob, но не удовлетворяют шаблону */migrations/*
для своего пути.
Вы можете написать скрипт, чтобы автоматизировать это:
#!/usr/bin/env bash
echo "Running autopep..."
find -type f -name '*.py' ! -path '*/migrations/*' -exec autopep8 --in-place --aggressive --aggressive '{}' \;
echo "Running pycodestyle..."
find -type f -name '*.py' ! -path '*/migrations/*' -exec pycodestyle --first '{}' \;
Просто используйте autopep8.exe --exclude='*/migrations/*' --in-place --recursive .
для запуска autopep8 для всех файлов в текущем каталоге, исключая миграции.