gpt4 book ai didi

python - 使用 Pygments 检测代码片段的编程语言

转载 作者:行者123 更新时间:2023-12-01 09:25:07 33 4
gpt4 key购买 nike

我正在使用guess_lexer() Pygments 库的方法来识别片段中的源代码:

这就是我现在使用它的方式:

from pygments.lexers import guess_lexer
text = "string containing source code"
lexer_subclass = guess_lexer(text)
print str(lexer_subclass)

根据 text 变量中存在的语言,它将返回如下内容:

<pygments.lexers.PythonLexer>

我想要的只是PythonLexer部分。我知道我可以使用字符串操作来获取它,但感觉很hacky。我想以正确的方式做到这一点。

所以我尝试查看 Pygment 内部做了什么,发现 this method它负责输出词法分析器名称:

def __repr__(self):
if self.options:
return '<pygments.lexers.%s with %r>' % (self.__class__.__name__,
self.options)
else:
return '<pygments.lexers.%s>' % self.__class__.__name__

果然,如果我修改它以仅返回 self.__class__.__name__,我会得到我想要的,但感觉不对。

怎样才能得到我想要的东西?也许继承该类然后覆盖该函数或其他什么?任何想法将不胜感激。

最佳答案

事实证明解决方案很简单。我只需使用以下内容:

guess_lexer(text).name

关于python - 使用 Pygments 检测代码片段的编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488781/

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