красиво распечатать код python из блокнота jupyter


person ntg    schedule 23.11.2020    source источник


Ответы (1)


Если код, который вы хотите распечатать, находится в отдельном скрипте, вы можете использовать интерфейс командной строки pygments https://pygments.org/docs/cmdline/

Чтобы красиво напечатать код, вам просто нужно использовать следующее

!pygmentize your_filename.py

Итак, для Python 3.5+ (3.6+ для кодирования) это будет:

def foo():
    print(42)

import inspect
from subprocess import check_output
from IPython.core.display import HTML

output = check_output(["pygmentize","-f","html","-O","full,style=emacs","-l","python"],
        input=inspect.getsource(foo), encoding='ascii')
HTML(output)

Обратитесь к Как передать строку в subprocess.Popen (используя аргумент стандартного ввода)? для других версий Python.

введите здесь описание изображения

person saloua    schedule 23.11.2020
comment
Хороший ответ (+1) Я добавлю вторую часть с подробностями о том, как вызывать строку, и приму ее, если нет лучшего ответа (без вызова процессов). Мне нравится, что это можно использовать и для языков, отличных от python. ! - person ntg; 24.11.2020