| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > pyd & pyo |
| Автор: Romikgy 17.8.2007, 13:00 |
| Я не силен в питоне , и вообще очень мало его знаю, но по работе понадобилось разобратся с проектом написанным на питоне, и вот вопрос в папке с прогой есть файлы типа pyd и pyo ? я так понимаю последние это типа что то объектные, так вот вопрос , можно ли эти файлы преобразовать в исходный текст питона? |
| Автор: Void 17.8.2007, 13:26 |
| .pyd — это модули, написанные на Си. .pyo — модули, скомпилированные в байткод. Отличаются от .pyc оптимизациями, но в текущей версии Питона отличия пренебрежимо малы. Восстановить исходный код можно. Есть платный сервис http://www.crazy-compilers.com/decompyle/. В дебиановских пакетах есть, по-видимому, последняя его бесплатная версия, но она не работает с Python 2.4 и новее. Вполне вероятно, что существуют средства и поновее. |
| Автор: pythonwin 17.8.2007, 15:57 |
| а зачем обратно переделывать в исходники? если нужно просто использовать, то можно импортировать и help, print, pprint.pprint и dir в помощь. |
| Автор: Romikgy 18.8.2007, 15:15 |
| мне нужны алгоритмы из этих исходников, проект этот опен сорсе, можно с сайта взять исходники, но сама прога с байт кодами уже на машине стоит, и мне проще взять исходники из байт кодов, так что плз где взять декомпилятор для питона? ОС вин ХР спасибо за ответы |
| Автор: Void 18.8.2007, 15:59 |
| Romikgy, как-то это по меньшей мере странно звучит. У вас что там, интернет по диалапу 2400 бит/с? В противном случае декомпилировать совсем не проще. Во-первых, декомпиляция не восстановит комментарии к исходникам, кроме doc strings, — а это, я так думаю, для понимания алгоритма немаловажно. Во-вторых, единственный известный рабочий декомпилятор я уже назвал: http://www.crazy-compilers.com/decompyle/. Он платный. Бесплатная версия работает с байткодом не новее Python 2.3. Неважно, используются фичи новых версий или нет, с байткодом, скомпилированным >= 2.4, работать не будет. Где взять её исходники, кроме как в дебиановских пакетах, не знаю. Могу проверить работоспособность на WinXP и выслать, вроде там ничего такого платформозависимого нет. UPD Пардон, слона, то есть http://sourceforge.net/projects/decompyle/ на SF.net, я и не приметил. |
| Автор: Void 18.8.2007, 20:47 |
Тогда почему проще декомпилировать байткод, чем скачать исходники? Решительно не понимаю. Распаковать архив с сурсфоржа и выполнить setup.py install. Потребуется компилятор Си: либо VC++ той версии, с которой был собран питон (6.0 или 2003, скрипт сам скажет, если не найдёт), либо MinGW. |