Vas*_*sil 10 python django jython
我正在研究一个稍后将部署在servlet容器中的小型django项目.但是如果我使用cPython而不是Jython,开发会快得多.所以我想要做的是测试我的代码是否在我的settiings.py中的cPython或Jython上运行,所以我可以告诉它使用适当的db驱动程序(postgresql_psycopg2或doj.backends.zxjdbc.postgresql).有一个简单的方法吗?
Vin*_*nia 25
最明确的方式是:
进口平台
platform.python_implementation()
'CPython的'
默认情况下,大多数时候底层解释器只是CPython,也可以说是效率最高的:)
Fra*_*cki 21
正如孙强指出的那样
import platform
platform.system()
Run Code Online (Sandbox Code Playgroud)
适用于Jython 2.5,但这不适用于Jython 2.2(之前的Jython版本).此外,还有一些关于在Jython 3.x中为这些调用返回更多操作系统特定细节的讨论.在那里没有任何决定,但为了安全地向前和向前兼容,我建议使用:
import sys
sys.platform.startswith('java')
Run Code Online (Sandbox Code Playgroud)
对于Jython将返回True,而在其他地方返回False(实际上在Jython 2.2或更早版本中,它为Jython返回1,在其他地方返回0,但这在if语句和其他检查中仍然可以正常工作).这个调用至少可以在早在2.1的Jython中运行,并且在可预见的未来将会起作用.
在Python 2.6或更高版本中(注意Jython 2.6尚未发布)另一个选项是:
import platform
platform.python_implementation
Run Code Online (Sandbox Code Playgroud)
对于C的C实现返回'CPython',为IronPython返回'IronPython',并为Jython返回'Jython'.显然这个在2.6以下不向后兼容,但是将向前兼容.
sun*_*ang 16
如果你正在运行Jython
import platform
platform.system()
Run Code Online (Sandbox Code Playgroud)
返回'Java'
这里有一些讨论,希望这有帮助.
| 归档时间: |
|
| 查看次数: |
4778 次 |
| 最近记录: |