簡體   English   中英

來自 jupyter notebook 的漂亮打印 python 代碼

[英]pretty print python code from jupyter notebook

如何從 jupyter notebook 漂亮地打印/顯示一段代碼,這是我正在嘗試做的一個(失敗的)示例:

例子

理想情況下,我會要求其他一些 pprint 打印帶有漂亮彩色注釋的 foo 代碼,類似於 Jupyter notebook 如何注釋單元格 [1] 中的代碼

示例代碼:

def foo():
    print(42)
import inspect
print(inspect.getsource(foo))
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(inspect.getsource(foo))

如果您要打印的代碼在單獨的腳本中,您可以使用 CLI 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(使用 stdin 參數)? 對於其他 python 版本。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM