2009-10-25 8 views
6

Czy istnieje program, który można uruchomić tak:Jak mogę usunąć komentarze i ciągi dokumentów z kodu źródłowego Pythona?

py2py.py <orig.py> smaller.py 

Gdzie orig.py Pythona zawiera kod źródłowy z komentarzami i ciągów DOC, a smaller.py zawiera identyczne, kod źródłowy runnable ale bez komentarzy i doc smyczki?

kod, który początkowo wyglądał następująco:

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

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

będzie wtedy wyglądać tak:

def foo(it): 
    print it 

Odpowiedz

2

Polecam minipy. Najbardziej wymownym powodem jest to, że robi on odpowiednią analizę drzewa składni abstrakcyjnego kodu źródłowego, tak aby zminimalizowany kod był znacznie dokładniejszy. Odkryłem, że bardziej znany pyminifier ma tendencję do generowania kodu z niezdefiniowanymi błędami symboli, błędnie zinterpretowanymi krotkami itp. Otrzymałem również o kilka procent lepsze wyniki kompresji z minipy. Niewielką zaletą minipy jest to, że jest to mniej niż połowa rozmiaru kodu pyminifier. Łatwiej też zarządzać i integrować w potoku budowania, ponieważ jest to pojedynczy autonomiczny plik python.

+0

Wycofane, ale pamiętaj, że minipy obsługuje tylko Python 2. –

+1

@JohnMcGehee z kilkoma drobnymi zmianami udało mi się obejść najbardziej oczywiste 2-izmowe pytony i teraz obsługuje on kod Pythona 3, który minimalizuję. Oto zmiana: https://github.com/kanaka/minipy/commit/dfd0216ec55bae536664155ea38270520d14fe27 – kanaka

Powiązane problemy