欢迎访问宙启技术站
智能推送

使用pygments.lexersget_lexer_for_filename()函数实现文件的语法高亮和代码美化

发布时间:2023-12-25 09:31:15

pygments.lexers.get_lexer_for_filename() 函数是 Pygments 库中的一个函数,用于根据文件名获取相应的语法高亮器(lexer)。该函数接受一个文件名作为参数,并返回一个对应的 lexer 对象,用于对文件进行语法高亮和代码美化。

下面是函数的使用例子:

from pygments import lexers

filename = 'example.py'  # 要高亮的文件名

# 获取适合该文件的 lexer
lexer = lexers.get_lexer_for_filename(filename)

# 读取文件内容
with open(filename, 'r') as file:
    code = file.read()

# 高亮并美化代码
highlighted_code = pygments.highlight(code, lexer, formatters.TerminalFormatter())

# 打印高亮代码
print(highlighted_code)

上述例子中,我们首先导入 pygments.lexers 模块,然后通过 get_lexer_for_filename() 函数根据文件名获取对应的 lexer 对象。

接下来,我们使用 open() 函数读取文件内容,并将其赋值给变量 code。

然后,我们使用 pygments.highlight() 函数将代码进行语法高亮,返回高亮的代码字符串。

最后,我们使用 print() 函数打印高亮的代码。

这样,我们就可以通过该函数将文件内容进行语法高亮和代码美化。