Каковы аргументы типов. Вызов Python CodeType ()?

В настоящее время я пытаюсь накрутить свой собственный код «маршала» для python, чтобы я мог хранить скомпилированный код python в Google App Engine для обслуживания скриптов на динамическом путь. Как вы все можете убедиться, "marshal" не поддерживается в GAE, а "pickle" не может сериализовать объекты кода.

Я обнаружил, что могу создать объект кода с типами.CodeType () но он ожидает 12 аргументов.

Сколько я ни пытался, я не могу найти никакой документации по этому вызову, и мне действительно нужно создать объект кода, чтобы я мог exec () его. Мой вопрос: знает ли кто-нибудь, каковы параметры для этого типов.CodeType () «конструктор» или какой-либо способ проанализировать его? Я использовал info () функция, определенная здесь , но выдает только общую информацию!

Быстрый ответ:

  • Q: Зачем компилировать код?
  • A: Процессорное время стоит реальных денег на Google App Engine , и каждый бит циклов ЦП я могу сохранить.
  • Q: Почему бы не использовать "marshal"?
  • A: Это один из неподдерживаемых модулей в Google App Engine .
  • В: Почему бы не использовать "pickle"?
  • A: Pickle не поддерживает сериализацию объектов кода.

ОБНОВЛЕНИЕ

Инфраструктура Google App Engine не позволяет создавать экземпляры объектов кода с 7-го числа. Июль 2011 года, так что мой аргумент здесь спорный. Надеюсь, это будет исправлено в будущем в GAE.

15
задан mbomb007 17 May 2018 в 13:35
поделиться