2009-10-25 12 views
6

私はこのように実行できるプログラムがあります:Pythonのソースコードからコメントやドキュメント文字列を取り除くにはどうしたらいいですか?

py2py.py <orig.py> smaller.py 

orig.pyはコメントやドキュメントの文字列でPythonのソースコードが含まれており、smaller.pyが同一含まれ、実行可能なソースコードが、コメントやドキュメントなし文字列?

もともとこのように見えたコード:

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

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

次のようになります。それは何が必要ないように

def foo(it): 
    print it 

答えて

8

This Python minifierが見えます。

+0

優れています。 「minify」は魔法の言葉でした。 –

2

minipyをお勧めします。最も説得力のある理由は、ソースコードの抽象構文ツリーを適切に分析して、拡張されたコードがはるかに正確であることです。私は、よく知られているpyminifierが、未定義のシンボルエラー、誤った解釈のタプルなどでコードを生成する傾向があることを発見しました。私はまた、minipyで数パーセントの圧縮結果を得ました。 minipyのマイナーな利点は、それがpyminifierのコードサイズの半分以下であることです。また、単一のスタンドアロンのPythonファイルであるため、ビルドパイプラインへの管理や統合が簡単です。

+0

Upvotedですが、minipyはPython 2のみをサポートしていることに注意してください。 –

+1

@JohnMcGeheeの些細な変更で私は最も明白なPython 2-ismsを回避することができ、現在はPython 3のコードをサポートしています。変更点は次のとおりです。https://github.com/kanaka/minipy/commit/dfd0216ec55bae536664155ea38270520d14fe27 – kanaka

関連する問題