python tokenize()_tokenize (Language) – Python 中文开发手册 - Break易站

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>