我已经搜索了这个问题的答案,但相关的解决方案似乎与翻译中的'print'
有关。
我想知道是否可以从IDLE打印(物理上在纸上)彩色蟒蛇代码?
我去了IDLE的File > Print Window
,似乎只打印出黑白版本,而不提示是否打印颜色等。
修改
似乎这可能不可用所以选项是将代码复制到文本编辑器(如SciTE)并从那里打印 - 就像默认的IDLE语法高亮一样。
答案 0 :(得分:4)
IDLE不能这样做,但您可以间接方式执行此操作:使用LaTeX使用IDLE颜色格式化脚本。
listings
包支持python类似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 manager,tlmgr
)。它是TexLive 2016的一部分。
不幸的是,CTAN版本似乎仍然存在问题:首选项文件listings-python.prf
位于软件包的文档文件夹中,而不是TeX可以找到它的tex/latex/listings
。您需要手动移动它才能使其生效。
答案 1 :(得分:2)
这是一个更好的答案。 使用IDLE扩展名为IDLE2HTML.py(搜索此内容)。 这使得IDLE可以打印到HTML文件中,该文件的样式表中有颜色。 然后将HTML文件保存为PDF(颜色仍然存在)。
答案 2 :(得分:2)
一个简单易用的解决方案是使用 IDLE2HTML ,这是IDLE的扩展。
该工具允许IDLE将代码从编辑器窗口(或交互式shell)保存到HTML文件中
颜色包含在CSS格式中。在此之后,可以打印文件(按要求)或与其他程序(如文字处理程序)一起使用的格式化代码
一个可靠的网站目前下载Python文件并查看一些说明是Python包索引(PyPI) - 页面是https://pypi.python.org/pypi/IDLE2HTML或pip
模块,内置于较新的Python版本,可以安装文件给你。
这种方法的一个有用的优点是它从IDLE 获取颜色格式,而不是花时间分析代码和使用存储的颜色(许多其他解决方案都这样做)。这意味着使用实际的配色方案并使用不同的IDLE主题,例如" IDLE Dark"。这应该会减少资源和使用更短的代码 此外,当保存数据时,当前扩展(版本2.0)可能适合使用不同的文件格式,因为它具有非常简单的代码。
有关其工作原理的一些细节:
由于该工具是作为扩展运行的Python代码,因此它可以访问IDLE提供的特殊变量,该变量包含有关编辑器窗口的数据。 extend.txt
Python扩展(运行编辑器)的idlelib
文件描述了这个名为editwin
的变量:
使用单个参数实例化IDLE扩展类, `editwin',一个EditorWindow实例。
它还包括一些关于扩展IDLE的其他文件,例如" config-main.def"和" config-extensions.def"。官方Python文档有更多信息。
安装说明:
将IDLE2HTML.py复制到" idlelib"你的python安装文件夹 附加" 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 as Tkinter
代替import Tkinter
和import tkinter.filedialog as tkFileDialog
而不是import tkFileDialog
。显示的代码使用来自内置" sys"的sys.version
。 if / else块中的模块运行正确的代码。
答案 3 :(得分:0)
最简单的方法是使用Notepad++打开'.py'文件,您可以在其中选择和修改设置和首选项(您想要使用python代码的任何主题),以将python文件导出到彩色文件中。 PDF文件(使用PDF虚拟打印机)或直接将其打印:-)。
OR
如果您使用的是VS code,则只需安装(PrintCode)扩展名并在安装后:
它将使用默认的Internet浏览器将python文件导出为 HTML ,您可以在其中直接打印或使用虚拟打印机将python文档打印为彩色PDF。
答案 4 :(得分:0)
我遇到了同样的问题,然后将py文件打开到Visual Studio Code中,然后简单地复制(Ctrl A / Ctrl C)并将文本(Ctrl V)粘贴到Microsoft编辑器中,例如Word或RTF,甚至Outlook。颜色保持不变,包括打印时。 请注意,为了避免在VS Code中将夜间模式设置为默认模式,请转到 File-> Preferences-> Color Theme,然后选择一种更适合打印的日间模式。
答案 5 :(得分:0)
我一直使用大量代码来执行此操作。 只需安装SciTE“ https://www.scintilla.org/SciTEDownload.html” 复制并粘贴您的代码并打印。 我喜欢抓住一些胶带,记号笔将所有纸张粘在墙上,然后放些音乐。 编码愉快!