Запуск 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 для всех файлов в текущем каталоге, исключая миграции.

Вернуться на верх