擅长:python、mysql、java
<p>各种AMPER、BACKQUOTE等值对应于python令牌/运算符的相应符号的令牌号。ie AMPER=&;(与号),amperqual=“&;=”。在</p>
<p>然而,你其实不必在意这些。它们由内部C标记器使用,但是python包装器简化了输出,将所有运算符符号转换为<code>OP</code>标记。您可以使用令牌模块的toküu name字典将符号令牌id(每个令牌元组中的第一个值)转换为符号名。例如:</p>
<pre><code>>>> import tokenize, token
>>> s = "{'test':'123','hehe':['hooray',0x10]}"
>>> for t in tokenize.generate_tokens(iter([s]).next):
print token.tok_name[t[0]],
OP STRING OP STRING OP STRING OP OP STRING OP NUMBER OP OP ENDMARKER
</code></pre>
<p>作为一个快速调试语句来更好地描述标记,您还可以使用tokenize.printtoken. 这是没有文档记录的,而且看起来在python3中没有出现,所以不要依赖它来生成代码,但是作为对令牌含义的快速了解,您可能会发现它很有用:</p>
^{pr2}$
<p>为每个令牌返回的元组中的各种值按顺序为:</p>
<ol>
<li>令牌Id(对应于类型,如字符串、操作、名称等)</li>
<li>字符串-此标记的实际标记文本,例如“&;”或“a string”</li>
<li>输入中的开始(行、列)</li>
<li>输入中的结尾(行、列)</li>
<li>标记所在行的全文。在</li>
</ol>