2009-03-18 22 views
6

Wie Sie vielleicht wissen oder nicht, können Sie eine HTML-Datei mit Farbsyntax-Highlighting aus einer PHP-Quelldatei mit php -s generieren.Python entspricht "php -s"

Ich weiß über die syntaxhighlighter, die Stackoverflow verwendet, und das ist nicht wirklich, was ich suche. Ich suche etwas, das HTML-Ausgabe ohne Javascript generiert.

Kennt jemand etwas Gleichwertiges zu php - für Python s?
+0

Gee, ich wusste nicht über Syntax Highlighter – Xolve

+0

In vielen Fällen ist die Syntaxhighlighter groß. Es gibt eine Wordpress-Plugin-Version, die ich ziemlich ausführlich in meinem Blog verwende. –

+0

+1 Ich wusste auch nicht –

Antwort

12
$ pygmentize -O full -O style=native -o test.html test.py 

Pygments zu installieren:

$ easy_install Pygments 

Sie es als Bibliothek verwenden können.

from pygments import highlight 
from pygments.lexers import guess_lexer 
from pygments.formatters import HtmlFormatter 

code = '#!/usr/bin/python\nprint "Hello World!"' 
lexer = guess_lexer(code) # or just pygments.lexers.PythonLexer() 
formatter = HtmlFormatter(noclasses=True, nowrap=True, lineseparator="<br>\n") 
print highlight(code, lexer, formatter) 

Ausgang:

<span style="color: #408080; font-style: italic">#!/usr/bin/python</span><br> 
<span style="color: #008000; font-weight: bold">print</span> 
<span style="color: #BA2121">&quot;Hello World!&quot;</span><br> 

(hinzugefügt Leerzeichen für Klarheit)

als HTML:

#/usr/bin/python
Druck " Hallo Welt! "

+0

Perfekt! Vielen Dank –

0

Wenn Sie von KDE aus auf kwrite zugreifen können, können Sie eine Datei als HTML exportieren, die die gleiche Einfärbung aufweist, die Sie zum Bearbeiten verwenden. Dies funktioniert für alle Sprachen.

0

Wenn Sie nur ein paar Dateien zum Konvertieren in HTML-Seiten benötigen und auf Windows sind, können Sie Notepad ++ verwenden. Es kommt (wie von den letzten Versionen) mit NppExport Plugin, das man Quellcode zu hervorgehobenem HTML und RTF (entsprechend Ihrem Farbtonschema) umwandeln kann. Es funktioniert natürlich nicht nur mit Python, sondern mit jeder Sprache, die Sie in Notepad ++ verwenden können.

1

Ich fand Highlight bei http://www.andre-simon.de, um ein extrem gutes Werkzeug dafür zu sein. Es ist Open-Source (GPL'ed obwohl!)