2010-03-29 7 views
30

Mi ricordo quando stavo sviluppando in C++ o Java, il compilatore di solito si lamenta per metodi, funzioni o importazioni non utilizzati. Nel mio progetto Django, ho un sacco di file Python che hanno attraversato un certo numero di iterazioni. Alcuni di questi file hanno poche righe di istruzioni di importazione nella parte superiore della pagina e alcune di quelle importazioni non sono più utilizzate. C'è un modo per localizzare le importazioni inutilizzate oltre a eyeballing ognuna di esse in ogni file?Come posso verificare l'importazione non utilizzata in molti file Python?

Tutti i miei importazioni sono esplicite, io di solito non scrivo from blah import *

+8

'per x in' ls * .py'; fai echo $ x; pylint $ x | grep "Importazione non utilizzata"; done' –

risposta

27

PyFlakes (simile a Lint) ti fornirà questa informazione.

+3

Si prega di notare l'esatto commant –

8

utilizzare uno strumento come pylint che segnalerà questi difetti del codice (tra molti altri).

Fare questi tipi di controlli 'pre-runtime' è difficile in un linguaggio con la tipizzazione dinamica, ma pylint fa un ottimo lavoro a catturare questi errori di battitura/avanzi di refactoring, ecc ...

+0

Si noti il ​​comando esatto (ad esempio 'pylint * | grep" inutilizzato-import "') –

6

Dai un'occhiata allo PyChecker. È uno strumento di debug e in grado di trovare variabili e moduli inutilizzati.

3

Se si utilizza l'IDE eclipse con pydev e mylyn, fornisce, tra le altre cose, il controllo e l'evidenziazione automatici per le importazioni non utilizzate. Si integra anche con il pilastro.

4

Ho utilizzato correttamente pyflakes e desidera rimuovere automaticamente le importazioni non utilizzate.

di recente ho trovato autoflake:

  • Utilizza pyflakes per il controllo.
  • Le impostazioni predefinite per rimuovere le importazioni di librerie standard non utilizzate e le dichiarazioni ridondanti pass.
  • Dispone di opzioni per la rimozione di altre importazioni non utilizzate e variabili non utilizzate.
Problemi correlati