Come posso rimuovere commenti e stringhe di documenti dal codice sorgente di Python? [chiuso]

StackOverflow https://stackoverflow.com/questions/1621521

Domanda

Esiste un programma che posso eseguire in questo modo:

py2py.py < orig.py > smaller.py

Dove orig.py contiene il codice sorgente di Python con commenti e stringhe di documenti, e smaller.py contiene un codice sorgente identico, eseguibile ma senza i commenti e le stringhe di documenti?

Codice che originariamente assomigliava a questo:

#/usr/bin/python
"""Do something
blah blah...
"""

# Beware the frubnitz!
def foo(it):
    """Foo it!"""
    print it  # hmm?

Sarebbe quindi così:

def foo(it):
    print it
È stato utile?

Soluzione

Questo minificatore Python sembra fare ciò di cui hai bisogno.

Altri suggerimenti

Raccomando minipy . Il motivo più convincente è che esegue un'analisi corretta dell'albero di sintassi dell'estratto del codice sorgente, quindi il codice minimizzato è molto più accurato. Ho scoperto che il più noto pyminifier tende a generare codice con errori di simbolo indefiniti, male interpretato tuple, ecc. Ho anche ottenuto risultati di compressione migliori di qualche percento con minipy. Un vantaggio minore di minipy è che è meno della metà della dimensione del codice di pyminifier. È anche più facile da gestire e integrare in una pipeline di build perché è un singolo file Python autonomo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top