Как я могу удалить комментарии и строки документа из исходного кода Python? [закрыто]
-
06-07-2019 - |
Вопрос
Есть ли программа, которую я могу запустить так:
py2py.py < orig.py > smaller.py
Где orig.py содержит исходный код Python с комментариями и строками документов, а файл small.py содержит идентичный исполняемый исходный код, но без комментариев и строк документации?
Код, который изначально выглядел так:
#/usr/bin/python
"""Do something
blah blah...
"""
# Beware the frubnitz!
def foo(it):
"""Foo it!"""
print it # hmm?
Тогда выглядело бы так:
def foo(it):
print it
Решение
Этот минификатор Python выглядит так, как будто он делает то, что вам нужно.
Другие советы
Я рекомендую minipy . Самая веская причина в том, что он правильно анализирует дерево абстрактного синтаксиса исходного кода, поэтому минимизированный код гораздо точнее. Я обнаружил, что более известный pyminifier имеет тенденцию генерировать код с неопределенными ошибками символов, неправильно истолкованными кортежи и т. д. Я также получил на несколько процентов лучшие результаты сжатия с помощью minipy. Небольшое преимущество minipy состоит в том, что он меньше половины размера кода pyminifier. Также проще управлять и интегрировать в конвейер сборки, потому что это отдельный автономный файл Python.