Python 中文开发手册
tokenize (Language) - Python 中文开发手册
源代码: Lib / tokenize.py
该tokenize模块为Python源代码提供了一个词法扫描器,并以Python实现。该模块中的扫描器也将评论作为标记返回,从而使其对于实现“漂亮打印机”(包括用于屏幕显示的着色器)非常有用。
为了简化标记流处理,使用通用标记类型返回所有运算符和分隔符令牌token.OP。通过检查tokenize.generate_tokens()标识特定运算符标记的字符序列返回的元组的第二个字段(包含匹配的实际标记字符串)可以确定确切的类型。
主要入口点是一个生成器:
tokenize.generate_tokens(readline)
generate_tokens()生成器需要一个参数readline,它必须是一个可调用的对象,它提供与内置文件对象的readline()方法相同的接口(请参阅文件对象部分)。 对函数的每次调用都应以字符串的形式返回一行输入。 另外,readline可能是一个可调用的对象,通过提高StopIteration来表示完成。
生成器生成这些成员的5元组:令牌类型; 令牌字符串; 一个2元组(srow, scol)ints,用于指定源中源标记开始的行和列; 一个2元组(erow, ecol)inint,用于指定令牌在源中结束的行和列; 和找到令牌的行。传递的行(最后一个元组项)是逻辑行; 包括延续线。
2.2版本中的新功能。
为保持向后兼容性而保留较旧的入口点:
tokenize.tokenize(readline[, tokeneater])
该tokenize()函数接受两个参数:一个表示输入流,一个提供输出机制toke

Python的tokenize模块提供了一个词法扫描器,用于处理Python源代码。它将源代码分解为标记,包括运算符、分隔符和注释。generate_tokens函数是一个生成器,需要一个readline参数,该参数应返回一行输入。tokenize模块还支持将标记流转换回源代码的功能,以及处理错误的TokenError异常。示例展示了如何使用tokenize将浮点数替换为Decimal对象。
最低0.47元/天 解锁文章
1079

被折叠的 条评论
为什么被折叠?



