如何以编程方式检测代码是否以nuitka编译或python解释模式运行
问题描述:
任何人都可以说如何检测代码是否在由Nuitka或普通Python解释器创建的exe中运行?如何以编程方式检测代码是否以nuitka编译或python解释模式运行
我想我会理想地喜欢一个“is_nuitka”标志,它会在编译时设置为True,并且在编译时根本不存在。然后
能使用这样的代码:
if '__is_nuitka__' in locals() or '__is_nuitka__' in globals():
print('debug info: running in nuitka mode')
有什么建议?有没有这样的东西可用?任何替代方法?
答
第一个想法是检查sys.argv中[0]像
if '.exe' in sys.argv[0]:
# compiled
'蟒蛇my_script_to_modify_.exe_files.py'就已经打破你的假设。 – RedX
if sys.argv [0] .endswith('.exe') then =) – pmus