【问题标题】:Basic Pygments example does not work基本 Pygments 示例不起作用
【发布时间】:2016-05-07 12:57:56
【问题描述】:

我正在使用 Python 2.7 和 Pygments。我尝试在他们的webpage 上使用基本示例,但它已经过时了。即使我尽我所能更新它,它也不起作用。

from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import html

code = 'print "Hello World"'
lexer = get_lexer_by_name("python", stripall=True)
formatter = html.Formatter()
print highlight(code, lexer, formatter)

输出:

C:\Python27\python.exe C:/scripts/practice/PySnippets/foo.py
Traceback (most recent call last):
  File "C:/scripts/practice/PySnippets/foo.py", line 8, in <module>
    print highlight(code, lexer, formatter)
  File "C:\Python27\lib\site-packages\pygments\__init__.py", line 87, in highlight
    return format(lex(code, lexer), formatter, outfile)
  File "C:\Python27\lib\site-packages\pygments\__init__.py", line 66, in format
    formatter.format(tokens, realoutfile)
  File "C:\Python27\lib\site-packages\pygments\formatter.py", line 95, in format
    return self.format_unencoded(tokensource, outfile)
AttributeError: 'Formatter' object has no attribute 'format_unencoded'

【问题讨论】:

    标签: python pygments


    【解决方案1】:

    我知道已经 2 年了,但我认为如果你现在按照 Pygments 上的例子,它应该可以工作。

    from pygments import highlight
    from pygments.lexers import PythonLexer
    from pygments.formatters import HtmlFormatter
    
    code = 'print "Hello World"'
    print(highlight(code, PythonLexer(), HtmlFormatter()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-22
      • 2018-06-03
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多