gpt4 book ai didi

python-3.x - 如何使用 Tokenize 模块标记化 python 代码?

转载 作者:行者123 更新时间:2023-12-04 15:26:22 26 4
gpt4 key购买 nike

假设我有一个包含 Python 代码的字符串。

input = "import nltk
from nltk.stem import PorterStemmer
porter_stemmer=PorterStemmer()
words=["connect","connected","connection","connections","connects"]
stemmed_words=[porter_stemmer.stem(word) for word in words]
stemmed_words"

如何标记代码?我找到了标记化模块(https://docs.python.org/3/library/tokenize.html)。但是,我不清楚如何使用该模块。它有 tokenize.tokenize(readline) 但参数采用生成器,而不是字符串。

最佳答案

import tokenize
import io

inp = """import nltk
from nltk.stem import PorterStemmer
porter_stemmer=PorterStemmer()
words=["connect","connected","connection","connections","connects"]
stemmed_words=[porter_stemmer.stem(word) for word in words]
stemmed_words"""

for token in tokenize.generate_tokens(io.StringIO(inp).readline):
print(token)

tokenize.tokenize 采用方法而非字符串。该方法应该是来自 IO 对象的 readline 方法。此外,tokenize.tokenize 需要 readline 方法返回字节,您可以使用 tokenize.generate_tokens 来使用返回字符串的 readline 方法。

您的输入也应该在文档字符串中,因为它有多行。

参见 io.TextIOBase , tokenize.generate_tokens了解更多信息。

关于python-3.x - 如何使用 Tokenize 模块标记化 python 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62166362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com