hob*_*obs 10 python optimization assert runtime conditional-compilation
我想在python脚本python -O myscript.py
中运行时根据脚本的命令行参数设置optimize flag(),如myscript.py --optimize
或myscript --no-debug
.我想跳过assert
声明,而不是把它们全部丢掉.或者是否有更好的方法来有效地忽略python代码的各个部分.是否有蟒蛇等价物#if
,并#ifdef
在C++?
Joc*_*zel 12
-O
是一个编译器标志,你不能在运行时设置它,因为那时脚本已经编译过了.
Python没有类似于编译器宏的可比性#if
.
只需编写一个start_my_project.sh
设置这些标志的脚本.
#!/usr/bin/env python
def main():
assert 0
print("tada")
if __name__=="__main__":
import os, sys
if '--optimize' in sys.argv:
sys.argv.remove('--optimize')
os.execl(sys.executable, sys.executable, '-O', *sys.argv)
else:
main()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1850 次 |
最近记录: |