Python 语言服务¶
Python 提供了许多模块来帮助使用 Python 语言。 这些模块支持标记化、解析、语法分析、字节码反汇编以及各种其他工具。
这些模块包括:
ast--- 抽象语法树symtable——访问编译器的符号表token--- 与Python解析树一起使用的常量tok_nameISTERMINAL()ISNONTERMINAL()ISEOF()ENDMARKERNAMENUMBERSTRINGNEWLINEINDENTDEDENTLPARRPARLSQBRSQBCOLONCOMMASEMIPLUSMINUSSTARSLASHVBARAMPERLESSGREATEREQUALDOTPERCENTLBRACERBRACEEQEQUALNOTEQUALLESSEQUALGREATEREQUALTILDECIRCUMFLEXLEFTSHIFTRIGHTSHIFTDOUBLESTARPLUSEQUALMINEQUALSTAREQUALSLASHEQUALPERCENTEQUALAMPEREQUALVBAREQUALCIRCUMFLEXEQUALLEFTSHIFTEQUALRIGHTSHIFTEQUALDOUBLESTAREQUALDOUBLESLASHDOUBLESLASHEQUALATATEQUALRARROWELLIPSISCOLONEQUALEXCLAMATIONOPTYPE_IGNORETYPE_COMMENTSOFT_KEYWORDFSTRING_STARTFSTRING_MIDDLEFSTRING_ENDCOMMENTNLERRORTOKENN_TOKENSNT_OFFSETENCODING
keyword--- 检验Python关键字tokenize--- 对 Python 代码使用的标记解析器tabnanny--- 模糊缩进检测pyclbr--- Python 模块浏览器支持py_compile--- 编译 Python 源文件compileall--- 字节编译 Python 库dis--- Python 字节码反汇编器- 命令行接口
- 字节码分析
- 分析函数
- Python字节码说明
InstructionInstruction.opcodeInstruction.opnameInstruction.baseopcodeInstruction.baseopnameInstruction.argInstruction.opargInstruction.argvalInstruction.argreprInstruction.offsetInstruction.start_offsetInstruction.cache_offsetInstruction.end_offsetInstruction.starts_lineInstruction.line_numberInstruction.is_jump_targetInstruction.jump_targetInstruction.positions
Positions
- 操作码集合
pickletools--- pickle 开发者工具集