簡體   English   中英

如何從 IDLE 物理打印彩色 python 代碼?

[英]How to physically print python code in color from IDLE?

我已經為此尋找了答案,但相關的解決方案似乎與解釋器中的'print'有關。

我想知道是否可以從 IDLE 打印(在紙上物理)彩色 python 代碼?

我去了: File > Print Window空閑File > Print Window ,它似乎只是打印出黑白版本而不提示是否打印彩色等。

編輯:

看起來這可能不可用,因此選項是將代碼復制到像 SciTE 這樣的文本編輯器並從那里打印 - 雖然很像默認的 IDLE 語法突出顯示。

IDLE 無法做到,但您可以通過間接方式做到這一點:使用 LaTeX 將您的腳本設置為 IDLE 顏色。

listings包支持IDLE狀着色為蟒蛇,但它很好隱藏的:你必須知道包括在提到“首選項文件” listings手動,但沒有它的功能的說明。 以下幾乎最小的示例會將您的腳本myscript.py轉換為 IDLE 顏色的彩色 PDF。

\documentclass{article}

\usepackage{listings}
\input{listings-python.prf}  % defines the python-idle-code style
\usepackage{textcomp} % Needed for straight quotes                               

\lstset{
 basicstyle=\normalsize\ttfamily, % size of the fonts for the code               
 language={Python},style={python-idle-code},
 showstringspaces=false,
 tabsize=4,
 upquote=true,   % Requires textcomp                                             
}

\oddsidemargin=-0.5cm
\textwidth=7in  % This just fits 80 characters at 10pt                           

\begin{document}
\lstinputlisting{myscript.py}
\end{document}

您還可以在真實的 LaTeX 文檔中包含代碼片段。

可用性:您至少需要listings版本 1.5b (2013/08/26)。 Texlive 2013 的用戶必須從 CTAN 下載它(例如使用命令行 texlive 管理器tlmgr )。 它是 TexLive 2016 的一部分。

不幸的是,CTAN 版本似乎仍然存在問題:首選項文件listings-python.prf位於包的文檔文件夾中,而不是在 TeX 可以找到它的tex/latex/listings中。 您需要手動移動它才能使包含工作。

這是一個更好的答案。 使用名為 IDLE2HTML.py 的 IDLE 擴展(搜索這個)。 這讓 IDLE 打印到一個 HTML 文件,在它的樣式表中有顏色。 然后將 HTML 文件保存為 PDF(顏色仍然存在)。

一個好的且簡單的解決方案是使用IDLE2HTML ,它是 IDLE 的擴展。
該工具允許 IDLE 將編輯器窗口(或交互式 shell)中的代碼保存到 HTML 文件中,
顏色包含在 CSS 格式中。 在此之后,可以打印文件(按要求)或其格式化代碼與其他程序(如文字處理器)一起使用。
目前下載 Python 文件並查看一些說明的可靠網站是 Python 包索引 (PyPI) - 該頁面是https://pypi.python.org/pypi/IDLE2HTMLpip模塊,內置於較新的 Python 版本,可以為您安裝文件。

這種方法的一個有用的優點是它從 IDLE獲取顏色格式而不是花時間分析代碼和使用存儲的顏色(許多其他解決方案都這樣做)。 這意味着它使用實際的配色方案並使用不同的 IDLE 主題,例如“IDLE Dark”。 這應該會導致使用更少的資源和更短的代碼。
此外,當前的擴展(2.0 版)可能適用於在保存數據時使用不同的文件格式,因為它具有非常簡單的代碼。

關於它如何工作的一些細節:

由於該工具是作為擴展運行的 Python 代碼,因此它可以訪問 IDLE 提供的一個特殊變量,該變量包含有關編輯器窗口的數據。 idlelib Python 擴展(運行編輯器)的extend.txt文件描述了這個名為editwin變量:

IDLE 擴展類使用單個參數“editwin”(一個 EditorWindow 實例)進行實例化。

它還包括一些關於擴展 IDLE 的其他文件,例如“config-main.def”和“config-extensions.def”。 官方 Python 文檔有更多信息。

安裝說明:

將 IDLE2HTML.py 復制到 Python 安裝的“idlelib”文件夾中。
將“config-extensions.txt”的內容附加到“config-extensions.def”文件(也在idlelib文件夾中)並重新啟動 IDLE。

如何使用:

從“選項”菜單中選擇“另存為 HTML”並在 FileDialog 窗口中指定文件名。 立即創建 HTML 文件。

在 Python 3.x 中工作的代碼調整:
目前, IDLE2HTML擴展(2.0 版)將無法與 Python 3.x 一起使用,直到對我在IDLEX Python 模塊中包含的固定版本中找到的代碼進行小的更改 這是一個文件比較,左邊是原始版本,右邊是固定 IDLEX 版本。

上面描述的文件比較圖像。

說明:如果 Python 版本是 Python 3.x,請使用import tkinter.filedialog as tkFileDialog import tkinter as Tkinter而不是import Tkinter並使用import tkinter.filedialog as tkFileDialog而不是import tkFileDialog 顯示的代碼使用 if/else 塊中內置“sys”模塊中的sys.version來運行正確的代碼。

最簡單的方法是使用Notepad++打開“.py”文件,然后您可以選擇和修改您的設置和首選項(任何您想要的 Python 代碼主題),將 Python 文件導出為彩色 PDF 文件(使用 PDF Virtual Printer ) 或直接打印它 :-) 。

或者

如果您使用的是VS 代碼,那么只需安裝 ( PrintCode ) 擴展,然后安裝:

  1. 打開VS Code並轉到查看
  2. 單擊命令面板
  3. 搜索“打印代碼

它將使用您的默認 Internet 瀏覽器將 python 文件導出為HTML ,您可以在那里直接打印它或使用虛擬打印機,將您的 python 文檔打印為彩色 PDF。

我遇到了同樣的問題,將 py 文件打開到 Visual Studio Code 中,然后簡單地復制(Ctrl A / Ctrl C)並將文本(Ctrl V)粘貼到 Microsoft 編輯器中,例如 Word 或 RTF,甚至是 Outlook。 顏色保持不變,包括打印時。 注意,為了避免VS Code默認設置的夜間模式,進入File->Preferences->Color Theme,選擇更適合打印的白天模式。

我一直使用大量代碼來執行此操作。 只需安裝 SciTE "https://www.scintilla.org/SciTEDownload.html" 復制並粘貼您的代碼並打印。 我喜歡拿一些膠帶和記號筆把所有的床單貼在牆上,放一些音樂。 快樂編碼!

暫無
暫無

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

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