Giải pháp tốt và đơn giản là sử dụng IDLE2HTML, một phần mở rộng cho IDLE.
Công cụ cho phép IDLE lưu mã từ cửa sổ trình soạn thảo (hoặc trình tương tác) vào tệp HTML,
với màu được bao gồm trong định dạng CSS. Sau đó, tệp có thể được in (như được yêu cầu) hoặc mã định dạng của nó được sử dụng với các chương trình khác như bộ xử lý văn bản.
Trang web đáng tin cậy hiện đang tải xuống tệp Python và xem một số hướng dẫn là Chỉ mục gói Python (PyPI) - trang là https://pypi.python.org/pypi/IDLE2HTML hoặc mô-đun pip
, được cài sẵn trong phiên bản Python mới hơn, có thể cài đặt tệp cho bạn.
Một lợi thế hữu ích của phương pháp này là nó nhận định dạng màu từ IDLE thay vì dành thời gian phân tích mã và sử dụng màu đã lưu trữ (nhiều giải pháp khác). Điều này có nghĩa là sử dụng bảng màu thực tế và hoạt động với các chủ đề IDLE khác nhau, chẳng hạn như "IDLE Dark". Điều này sẽ dẫn đến ít tài nguyên hơn và mã ngắn hơn đang được sử dụng.
Ngoài ra, tiện ích mở rộng hiện tại (phiên bản 2.0) có thể là được điều chỉnh để sử dụng định dạng tệp khác khi lưu dữ liệu vì nó có mã khá đơn giản.
Một số chi tiết về cách thức hoạt động:
Kể từ khi công cụ này là Python mã chạy như một phần mở rộng, nó có quyền truy cập vào một biến đặc biệt được cung cấp bởi IDLE, trong đó có chứa dữ liệu về cửa sổ soạn thảo. Các tập tin extend.txt
của Python mở rộng idlelib
(chạy trình biên tập) mô tả biến này được gọi là editwin
:
Một lớp mở rộng IDLE là instantiated với một đối số duy nhất, 'editwin', một thể hiện EditorWindow.
Nó cũng bao gồm một số tệp khác về mở rộng IDLE như "config-main.def" và "config-extensions.def". Tài liệu Python chính thức có nhiều thông tin hơn.
hướng dẫn
Cài đặt:
Sao chép IDLE2HTML.py đến "idlelib" thư mục cài đặt python của bạn.
Nối nội dung của "config-extensions.txt" vào tệp "config-extensions.def" của bạn (cũng trong thư mục idlelib) và khởi động lại IDLE.
Làm thế nào để sử dụng:
Chọn "Save as HTML" từ menu "Options" và chỉ định tên tập tin trong cửa sổ FileDialog. Tệp HTML được tạo ngay lập tức.
Một mã tinh chỉnh để làm việc bằng Python 3.x:
Hiện nay, IDLE2HTML phần mở rộng (phiên bản 2.0) sẽ không làm việc với Python 3.x cho đến khi một sự thay đổi nhỏ được thực hiện để mã mà tôi tìm thấy trong một phiên bản cố định đi kèm với mô-đun Python IDLEX. Đây là một so sánh tệp, với bản gốc ở bên trái và phiên bản IDLEX cố định ở bên phải của ảnh chụp màn hình.

Mô tả: nếu Python phiên bản là Python 3.x, sử dụng import tkinter as Tkinter
thay vì import Tkinter
và import tkinter.filedialog as tkFileDialog
thay vì import tkFileDialog
. Mã được hiển thị sử dụng sys.version
từ mô-đun "sys" tích hợp trong khối if/else để chạy đúng mã.
IDLE có thể làm điều đó bằng cách sử dụng các phần mở rộng (các mô-đun Python có thể được chạy từ chính trình soạn thảo, ví dụ * IDLE2HTML *) được cung cấp dữ liệu về cửa sổ trình soạn thảo khi chạy. – Edward
Trong TexLive 2016 (phiên bản hiện tại kể từ bây giờ), tệp 'listings-python.prf' được định vị tốt ('/texmf-dist/tex/latex/lists/listings-python.prf') và LaTeX có thể tìm thấy nó mà không cần sao chép nó. –
Cảm ơn lời nhắc! Cập nhật câu trả lời. – alexis