Определение реализации Python во время выполнения?

Я пишу фрагмент кода, который возвращает информацию профилирования, и было бы полезно иметь возможность динамически возвращать реализацию используемого Python.

Есть ли способ Pythonic для определения того, какую реализацию (например, Jython, PyPy) Python выполняет мой код во время выполнения? Я знаю, что я могу получить информацию о версии из sys.version :

 >>> import sys >>> sys.version '3.4.3 (default, May 1 2015, 19:14:18) \n[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.49)]' 

но я не уверен, где искать в модуле sys чтобы получить реализацию, выполняемую кодом.

One Solution collect form web for “Определение реализации Python во время выполнения?”

Вы можете использовать python_implementation из модуля platform в Python 3 или Python 2 . Это возвращает строку, которая идентифицирует реализацию Python.

например

return_implementation.py

 import platform print(platform.python_implementation()) 

и повторяя некоторые ответы в командной строке:

 $ for i in python python3 pypy pypy3; do echo -n "implementation $i: "; $i return_implementation.py; done implementation python: CPython implementation python3: CPython implementation pypy: PyPy implementation pypy3: PyPy 

Обратите внимание, что на дату этого ответа возможными ответами являются «CPython», «IronPython», «Jython», «PyPy», что означает, что ваша реализация не будет возвращена этой функцией python_implementation если она не идентична системе sys модуль как один из этих типов.

python_implementation вызывает sys.version под капотом и пытается сопоставить ответ с шаблоном регулярного выражения – если нет условного совпадения, то нет соответствующего ответчика строки.

  • Ошибка: ошибка сегментации (сброс ядра)
  • Python str.translate VS str.replace
  • Сайт Twitter Bootstrap, развернутый с помощью GAE
  • Разделить исходный код python на несколько файлов?
  • Как распечатать список кортежей
  • Возможно обмен данными в памяти между двумя отдельными процессами?
  • Как проверить ввод с огромным списком?
  • find Key для значения в python, когда ключ, связанный с несколькими значениями
  • Python - лучший язык программирования в мире.