使用 gcc,您可以在將代碼編譯為程序集後使用 -S 來停止編譯。Python/字節碼是否有類似的功能?我知道這樣的方法:
import dis
x = compile('print(1)', '', 'eval')
dis.dis(x)
哪個打印:
1 0 LOAD_NAME 0 (print)
2 LOAD_CONST 0 (1)
4 CALL_FUNCTION 1
6 RETURN_VALUE
但我正在考慮以下方面的更多內容:
> python3 -{SOME FLAG HERE} output my_script.py
它以可讀格式輸出包含腳本字節碼的文件。
如果您要查找的是disassembler的輸出,那麼您可以將模塊作為腳本運行:
python -m dis myscript.py
反彙編器輸出將打印到標準輸出。您可以使用適當的 shell 工具將其重定向到某個文件。例如在 *nix 上:
python -m dis myscript.py > output.txt
注意:dis
據我所知,這種使用沒有記錄在案,檢查源代碼它可能不是模塊的穩定部分,但它確實適用於當前的 CPython。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句