pythonproject怎么用,python编程默认字体arial
Python中文开发手册
Tokenize(语言)-Python中文开发手册
源代码:Lib/tokenize.py
这个tokenize模块为Python源代码提供了一个词法扫描器,并且是用Python实现的。该模块中的扫描仪也将注释作为标签返回,这有助于使用屏幕显示着色器实现“干净的打印机”。
为了简化标记流的处理,所有的操作符和分隔符都标记token。OP通过使用通用标记类型返回。Tokenize.generate_tokens))可以通过检查由标识特定操作符令牌的字符串返回的元组的第二个字段(包括匹配的实际令牌字符串)来确定确切的类型。
主要的切入点是发电机。
Tokenize.generate _ tokens(自述文件)
Generate_tokens))生成器需要参数readline。此参数readline必须是一个可调用对象,该对象提供与内置file对象的readline)方法相同的接口。(请参见文件对象一节。每次调用函数时,一行输入必须作为字符串返回。此外,readline是一个可调用的对象,可以通过引发StopIteration来指示。
生成器生成五组这样的成员。令牌类型;令牌字符串;二维组(srow,scol) ints,指定源中源标记开始的行和列;二维组(erow,ecol) inint,指定在源中标记结束的行和列;找到了令牌的行。传递的行(最后一个元组项)是逻辑行;包括延长线。
2.2版中的新功能。
维护旧的入口点以保持向后兼容性:
令牌化。Tokenize(readline(,tokeneater)))).
这个tokenize()函数接受两个参数:表示输入流的参数和提供输出机制的tokenize。
第一个参数readline必须是可调用对象(readline))提供了与内置file对象方法相同的接口。请参阅“文件对象”一节。每次调用函数时,一行输入必须作为字符串返回。或者说,readline是一个可调用的对象,StopIteration可以在改进的视图中完成。
在2.5版本中进行了更改。添加了对StopIteration的支持。
第二个参数tokeneater也必须是一个可调用对象。每个标签调用一次,有五个参数对应生成的元组generate_tokens()。
令牌模块中的所有常量都包含tokenize和两个额外的令牌类型值tokenize(
令牌化。评论
标记用于表示注释。
令牌化。荷兰
一个标记表示换行符没有结束。NEWLINE标记表示Python代码逻辑行的结束。当一个逻辑代码行跟在多个物理行之后时,将生成一个NL令牌。
它提供了另一个逆转标记过程的功能。在创建标记脚本时,修改标记流和回写脚本的工具非常有用。
Tokenize.unTokenize(iterable)).
将令牌转换回Python源代码。迭代必须至少有两个元素,即标记类型和标记字符串,才能返回序列。其他序列元素将被忽略。
重构后的脚本作为单个字符串返回。结果保证返回标签匹配输入,这样转换无损,保证往返。标记之间的间隔(列位置)可能会改变,因此它只适用于标记类型和标记字符串。
2.5版本中的新功能。
异常标记化。令牌错误
如果可以拆分成多行的文档字符串或表达式在文件中的任何地方都没有完成,则抛出。示例:
开头为
文档字符串
或者:
[1,
2,
三
请注意,未结束的单引号字符串不会导致错误。标记为错误标记,并标记其内容。
将浮点文本转换为十进制对象的脚本编写器示例:
诊断结果:
" " substitutedcimalsforfloatsinstarrofstatements .
来自医学导论医学
s=打印21.3e-5*-.1234/81.7
是DCISTMT
印刷医学(21.3 e-5)*-医学()/医学()81.7)。
是执行人员
-3.21716034272e-007
exec(决策)s)
-3.26763904527
结果=[]
g=generate_tokens(stringio(s))。readline ) #标记字符串
对于g中的toknum,tokval,_,_,_:
iftoknum==数字和.into kval : # replacenumbertokens
result.extend([(
(名称,十进制 ),
((OP,) ) ),
(字符串托克瓦尔)
(OP,() ) )
] )
否则:
result.append((toknum,tokval))
returnunTokenize(结果) )
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。