我怎么知道我正在使用哪个python实现?

Stu*_*erg 43 python cpython

Python有几个不同的实现:CPython,Jython,PyPy等.我想以编程方式确定运行我的代码的实现.我怎样才能做到这一点?

具体来说,写一个get_implementation_name()为我调用的函数:

impl_name = get_implementation_name()
if impl_name == "CPython":
  print "I can abuse CPython implementation details. (I'm a bad, bad man.)"
elif impl_name == "PyPy":
  print "Can't count on reference-counting garbage collection here..."
else:
  print "I better be careful..."
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 83

In [50]: import platform    
In [52]: platform.python_implementation()
Out[52]: 'CPython'
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我觉得愚蠢.我想一个可以接受的答案是:`import platform; get_implementation_name = platform.python_implementation` :-) (3认同)

Jak*_*yer 11

平台怎么样?

它给了你

platform.python_implementation()
Run Code Online (Sandbox Code Playgroud)