如何使用此标记器标记代码字符串?

2024-09-30 08:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一行代码如下:

'    return classInformation.buildEnrollment(request, nextview, auth, false);'

I want to use the tokenizer found here生成如下令牌:

"['INDENT', 'NAME', 'NAME' DOT', 'NAME', LPAR', 'NAME', 'COMMA', 'NAME', 'COMMA', 'NAME', 'COMMA', 'NAME', 'RPAR', 'SEMI', 'DEDENT']"

我不知道获取这些令牌的代码会是什么样子,我遇到的问题是我需要生成一行这样的代码:

"'password=hd92732'"

看起来像这样:

"['NAME', 'EQUAL', 'NAME', 'DEDENT']"

与此相反:

"['STRING', 'DEDENT']"

Tags: theto代码nameauthfalsereturnuse
1条回答
网友
1楼 · 发布于 2024-09-30 08:23:38
from token import tok_name
from tokenize import tokenize

with open("ff", 'wb') as f:
f.write(
    b'    return classInformation.buildEnrollment(request, nextview, auth, false);\n'
    b'    return classInformation.buildEnrollment(request, nextview, auth, false);\n'
    b'    return classInformation.buildEnrollment(request, nextview, auth, false);\n'
)

readline = open("ff", 'rb').__next__
print(','.join([tok_name[l.type] for l in tokenize(readline)]))

您将获得一个“换行符”标记来分隔每一行

相关问题 更多 >

    热门问题