是否有一种方法可以从另一个python(3)脚本以优化模式运行python脚本?
如果我具有以下 test.py 脚本
if __debug__:
print('Debug ON')
else:
print('Debug OFF')
python text.py
打印打开调试
python -OO text.py
打印关闭调试
以下内容可正确打印调试关闭
import subprocess
subprocess.run(["python", "-OO", "test.py"])
但是还有更多的 pythonic 方法吗?
如果未将解释器称为python
,则上述内容似乎不太便于移植。
我已经在这里搜索了,网上也没有运气。
答案 0 :(得分:0)
我已经提出了使用compile
的解决方案:
source_code = open("test.py").read()
compiled = compile(source_code, filename="test.py", mode="exec", optimize=2)
exec(compiled)
# prints "Debug OFF"
不知道这是否是最好的选择,只是分享是否对其他人有用。
子过程方法仍然更加简洁,可以通过一些改进使其可移植:
import sys
import subprocess
subprocess.run([sys.executable, "-OO", "test.py"])
欢迎提供更好的答案!