IDLE

Исходный код: Lib/idlelib/


IDLE - Интегрированная среда разработки и обучения Python (Integrated Development and Learning Environment).

IDLE имеет следующие возможности:

  • запрограмирован 100% на чистом Python, используя набор инструментов графический интерфейса пользователя tkinter
  • кроссплатформенный: работает почти одинаково в Windows, Unix и macOS
  • окно оболочки Python (интерактивное интерпретатор) с раскрашиванием сообщений ввода, вывода и ошибок кода
  • многооконный текстовый редактор с несколькими отменами, раскраской Python, интеллектуальным отступом, советами по вызовам, автозаполнением и другими функциями
  • поиск в любом окне, замена в окнах редактора и поиск по нескольким файлам (grep)
  • отладчик с постоянными точками останова, степпингом и просмотром глобальных и локальная пространств имен
  • конфигурация, браузеры и другие диалоговые окна

Меню

У IDLE два типа главного окна: окно оболочки (Shell) и окно редактора (Editor). Возможно одновременное использование нескольких окон редактора. В Windows и Linux каждый имеет собственное верхнее меню. Каждое меню, задокументированное ниже, указывает тип окна, с которым оно связано.

Окна вывода, такие как используемый для Edit => Find в файлах, являются подтипом окна редактора. В настоящее время они имеют одно и то же верхнее меню, но другое название по умолчанию и контекстое меню.

В macOS имеется одно меню приложения. Он динамически изменяется в соответствии с выбранным в данный момент окном. Он имеет меню IDLE, и некоторые записи, описанные ниже, перемещаются в соответствии с рекомендациями Apple.

Меню «File» (Оболочка и редактор)

New File
Создать новое окно редактирования файла.
Open…
Открыть существующий файл в диалоговом окне «Open».
Recent Files
Открыть список последних файлов. Щелкните один, чтобы открыть его.
Open Module…
Открыть существующий модуль (поиск sys.path).
Class Browser
Показать функции, классы и методы в текущем файле редактора в древовидной структуре. В оболочке сначала открыть модуль.
Path Browser
Показать каталоги sys.path, модули, функции, классы и методы в древовидной структуре.
Save
Сохранить текущее окно в связанный файл, если таковой имеется. Windows, которые были изменены с момента открытия или последнего сохранения, имеют* до и после заголовка окна. Если связанного файла нет, выберите команду «Save As».
Save As…
Сохранить текущее окно в диалоговом окне «Save As». Сохраненный файл становится новым связанным файлом для окна.
Save Copy As…
Сохранить текущего окна в другой файл без изменения связанного файла.
Print Window
Печать текущего окна на принтере по умолчанию.
Close
Закрыть текущее окно (при сохранении попросите сохранить).
Exit
Закрывает все окна и закрывает IDLE (предложит сохранить несохраненные окна).

Меню «Edit» (Оболочка и редактор)

Undo
отмена последнего изменения текущего окна. Не более 1000 изменений могут быть отменены.
Redo
повтор последнего отмены изменения в текущем окне.
Cut
выделение «Копировать» в системный буфер обмена; затем удалите выделенную область.
Copy
выбор в системный буфер обмена.
Paste
вставить содержимое системного буфера обмена в текущее окно.

Функции буфера обмена также доступны в меню контекст.

Select All
выберите все содержимое текущего окна.
Find…
Открыть диалоговое окно поиска со многими параметрами
Find Again
Повторите последний поиск, если он есть.
Find Selection
Выбора в настоящее время отобранного строка, если есть тот.
Find in Files…
Открыть диалоговое окно поиска файлов. Поместить результаты в новое окно вывода.
Replace…
Открыть диалоговое окно поиска и замены.
Go to Line
Переместить курсор в начало запрошенной строки и сделать ее видимой. Запрос после конца файла переходит к концу. Отмените выбор и обновите статус строки и столбца.
Show Completions
Открыть прокручиваемый список, позволяющий выбрать существующие имена. См. Завершения в разделе «Редактирование и навигация» ниже.
Expand Word
Развернуть префикс, введенный для соответствия полному слову в том же окне; повторите, чтобы получить другое расширение.
Show call tip
После незакрытых скобок для функции откройте небольшое окно с подсказками параметров функции. См. раздел Calltips в разделе редактирование и навигация ниже.
Show surrounding parens
Выделить окружающие скобки.

Меню «Format» (только окно «Editor»)

Indent Region
Смещение выбранных строк по ширине отступа (по умолчанию 4 пробела).
Dedent Region
Выбор линий, оставленных шириной отступа (по умолчанию 4 пробела).
Comment Out Region
Вставить ## перед выбранными строками.
Uncomment Region
Удаление ведущего # или ## из выбранных строк.
Tabify Region
Превращает отрезки leading мест в счета. (Примечание: мы рекомендуем использовать 4 блока пробела для отступа Python код.
Untabify Region
«Превратить всё» в правильное количество пробелов.
Toggle Tabs
Открыть диалоговое окно для переключения между отступами с пробелами и вкладками.
New Indent Width
Открытие диалогового окна для изменения ширины отступа. По умолчанию сообщество Python принимает 4 пространства.
Format Paragraph
Переформатирование текущего абзаца, разделенного пустыми строками, в блоке комментариев или многострочном строка или выбранной строки в строка. Все строки в абзаце будут отформатированы менее чем на N столбцов, где по умолчанию N равно 72.
Strip trailing whitespace
Удаляет перемещение космоса и других знаков пробела после последнего непробела символ линии, применяясь str.rstrip к каждой линии, включая линии в многострочном строки. За исключением окон оболочки удалите дополнительные новые строки в конце файла.

Меню «Run» (только окно «Editor»)

Run Module
Выполняет Проверить модуль. Если ошибки нет, перезапустить оболочку для очистки среды, а затем выполнить модуль. Вывод отображается в окне оболочка (Shell). Обратите внимание, что выходные данные требуют использования print или write. По завершении выполнения оболочка сохраняет фокус и отображает запрос. На этом этапе можно в интерактивном режиме исследовать результат выполнения. Это аналогично выполнению файла с python -i file в командной строке.
Run… Customized
Так же, как Запустить модуль, но выполняется модуль с настроенными настройками. Аргументы командной строки расширение sys.argv, как если бы оно передавалось в командной строке. Модуль можно запустить в оболочке без перезапуска.
Check Module
Проверить синтаксис модуля, открытого в окне Editor. Если модуль не был сохранен, IDLE или побудит пользователя экономить или сохраняться автоматически, как отобрано во вкладке «Общие» неработающего диалога параметров настройки. При наличии синтаксической ошибки приблизительное местоположение указывается в окне редактора.
Python Shell
Открывает или будит окно Python Shell.

Меню «Shell» (только окно Shell)

View Last Restart
Прокрутить окно оболочки до последнего перезапуска оболочки.
Restart Shell
Перезапустить оболочку, чтобы очистить среду и сбросить отображение и обработку исключений.
Previous History
Цикл по более ранним командам в истории, которые соответствуют текущей записи.
Next History
цикл (Next History Cycle) - более поздние команды в истории, соответствующие текущей записи.
Interrupt Execution
Остановите запущенную программу.

Меню Debug (только окно Shell)

Go to File/Line
Перейти в заданную строку. С помощью курсора и строки выше для имени файла и номера строки. Если файл найден, откройте его, если он еще не открыт, и отобразите строку. Эта команда используется для просмотра исходных строк, на которые ссылаются в трейсбэк исключений, и строк, найденных в окне «Найти в файлах». Также доступно в меню контекст окна оболочка и окна вывод.
Debugger (toggle)
При активации код, введенный в оболочку или запущенный из редактора, будет выполняться под отладчиком. В редакторе точки останова можно задать с помощью меню контекст. Эта особенность все еще неполная и несколько экспериментальная.
Stack Viewer
Просмотр стек трейсбэка последнего исключения в виджете дерева с доступом к locals и globals.
Auto-open Stack Viewer
Автоматическое открытие средства просмотра стеков при необработанном исключении.

Меню «Options» (Shell и Editor)

Configure IDLE
Открыть диалоговое окно конфигурации и измените настройки для следующих параметров: шрифты, отступы, ключевые привязки, темы цвета текста, окна запуска и размер, дополнительные источники справки и расширения. В macOS откройте диалоговое окно настройки, выбрав пункт настройки в меню приложения. Для получения дополнительной информации см. Setting preferences при помощи и предпочтениях.

Большинство опций конфигурации относится ко всем окнам или ко всем будущим окнам. Указанные ниже опции применяются только к активному окну.

Show/Hide Code Context (Editor Window only)
Открывает стекло наверху отредактировать окна, которое показывает блок контекст код, который завился выше вершины окна. См. Code Context в разделе Editing и Navigation ниже.
Show/Hide Line Numbers (Editor Window only)
Открыть столбец слева от окна редактирования, в котором отображается номер каждой строки текста. Значение по умолчанию - off, которое может быть изменено в настройках (см. Настройка предпочтений).
Zoom/Restore Height
Переключает окно между нормальным размером и максимальной высотой. Начальный размер по умолчанию равен 40 строкам на 80 знаков, если только не изменен на вкладке «Общие» диалогового окна «Настройка IDLE». Максимальная высота экрана определяется мгновенным максимизацией окна при первом увеличении масштаба экрана. Изменение параметров экрана может сделать сохраненную высоту недействительной. Этот переключатель не действует при максимизации окна.

Меню «Window» (Shell и Editor)

Список имен всех открытых окон; выберите один из них для вывода его на передний план (при необходимости его деиконизация).

Меню «Help» (Shell и Editor)

About IDLE
Авторское право, лицензии, кредитах, и т.д.
IDLE Help
Отображение этого документа IDLE, подробная информация о параметрах меню, базовом редактировании и навигации, а также другие советы.
Python Docs
Документация локальная Python доступа, если установлено, или начало веб-браузер и открытый docs.python.org показ последней документации Python.
Turtle Demo
Запустить модуль turtle с примером Python код и рисунки черепахи.

Дополнительные источники справки можно добавить здесь в диалоговом окне «Настройка IDLE» на вкладке «Общие». Дополнительные сведения о выборе пунктов меню «Справка» см. в подразделе «Справочные источники» ниже.

Контекстные меню

Открыть меню контекст, щелкнув правой кнопкой мыши в окне (щелкните по macOS, удерживая нажатой клавишу Control). Контекстные меню имеют стандартные функции буфера обмена также в меню «Правка».

Cut
выделение «Копировать» в системный буфер обмена; затем удалите выделенную область.
Copy
выбор в системный буфер обмена.
Paste
вставить содержимое системного буфера обмена в текущее окно.

Окна редактора также имеют функции точки останова. Линии с установленной точкой останова помечены специально. Точки останова влияют только на работу отладчика. Точки останова для файла сохраняются в каталоге .idlerc пользователя.

Set Breakpoint
установить на текущей строке.
Clear Breakpoint
очищает контрольную точку на той линии.

Окна Shell и Output также имеют следующее.

Go to file/line
так же, как в меню «Debug».

В окне Shell также имеется средство сжатия выходных данных, поясняемое в Python Shell window подразделе ниже.

Squeeze
Если курсор наведен на выходную строку, выжмите все выходные данные между код выше и подсказкой ниже вниз до метки «Сжатый текст».

Редактирование и навигация

Окна редактора

IDLE может открыть окна редактора, когда он начинается, в зависимости от параметров настройки и как вы начинаете IDLE. После этого используйте меню файл. Для данного файла может быть только одно открытое окно редактора.

Строка заголовка содержит имя файла, полный путь и версию Python и IDLE, запускающих окно. Строка состояния содержит номер строки („Ln“) и номер столбца („Col“). Номера строк начинаются с 1; номера столбцов с 0.

IDLE предполагает, что файлы с известным .py* расширение содержит Python код и что другие файлы не делают. Python код, которым управляют, с меню Run.

Горячие клавиши

В этом разделе «C» означает клавишу Control в Windows и Unix и ключ Command в macOS.

  • Backspace удаляет слева; Del удаляет справа

  • C-Backspace удалить слово слева; C-Del удалить слово справа

  • Клавиши со стрелками и Page Up/Page Down для перемещения

  • C-LeftArrow и C-RightArrow ходы по словам

  • Home/End перейти к началу/концу строки

  • C-Home/C-End перейти к началу/концу файла

  • Некоторые полезные привязки Emacs наследуются от Tcl/Tk:

    • C-a начало строки
    • C-e конец строки
    • C-k удалить строку (но не помещает ее в буфер обмена)
    • C-l центральное окно вокруг точки вставки
    • C-b перейти назад на один символ без удаления (обычно для этого можно также использовать клавишу курсора)
    • C-f двигаться вперед на один символ без удаления (обычно для этого можно также использовать клавишу курсора)
    • C-p поднимитесь вверх на одну строку (обычно для этого можно также использовать клавишу курсора)
    • C-d удалить следующий символ

Стандартные keybindings (как C-c, чтобы скопировать и C-v, чтобы приклеить) могут работать. В диалоговом окне «Configure IDLE» выбираются горячие клавиши.

Автоматический отступ

После открывающего блок инструкция следующая строка заказана 4 местами (в окне Python Shell одним счетом). После определенных ключевых слов (break, возвращает и т.д.) следующая строка будет выделена. В начале отступа Backspace удаляет до 4 пробелов, если они имеются. Tab вставляет пробелы (в окне Python Shell один счет), число зависит от ширины заявки. В настоящее время табуляторы ограничены четырьмя пробелами из-за ограничений Tcl/Tk.

См. также команды области отступа/отступа на Меню Format.

Завершения

Завершения поставляются по запросу и доступны для имёе модуля, атрибутов классов, функций или имёна файлов. Каждый запрашиваемый метод отображает поле завершения с существующими именами. (См. исключения ниже в разделе «Завершение вкладок».) Для любого поля измените заполняемое имя и выделенный в нем элемент, вводя и удаляя символы; нажав клавиши Up, Down, PageUp, PageDown, Home и End; и одним щелчком мыши внутри поля. Закрыть коробку с помощью клавиш Escape, Enter и двойных Tab или щелчков вне коробки. Двойной щелчок внутри поля выбирает и закрывает.

Один из способов открыть коробку — ввести ключевой символ и подождать заранее заданный интервал. По умолчанию это 2 секунды; настройте его в диалоговом окне настроек. (Чтобы предотвратить автоматические всплывающие окна, установите задержку на большое количество миллисекунд, например 100000000.) Для имен импортированных модулей или атрибутов классов или функций введите „.“. Для имен файлов в корневом каталоге введите os.sep или os.altsep сразу после вступительной кавычки. (В Windows можно сначала указать диск.) Для перехода в подкаталоги введите имя каталога и разделитель.

Вместо ожидания или после закрытия окна сразу же откройте окно завершения, выбрав Show Completions в меню Edit. Горячая клавиша по умолчанию - C-space. Если ввести префикс для желаемого имени перед тем, как открыть поле, первое совпадение или близкое совпадение станет видимым. Результат такой же, как при вводе префикса после отображения поля. Показывать завершения после того, как кавычки завершают имена файлов в текущем каталоге, а не в корневом каталоге.

Нажатие Tab после префикса обычно имеет тот же эффект, что и отображение завершения. (Без префикса он имеет отступ.) Однако, если есть только одно совпадение с префиксом, это совпадение немедленно добавляется к тексту редактора, не открывая коробку.

Вызов „Show Completions“ или нажатие Tab после префикса, вне строки и без предшествующего „.“ открывает коробку с ключевыми словами, встроенными именами и доступными именами на уровне модуля.

При редактировании кода в редакторе (в отличие от Shell) увеличьте количество доступных имен на уровне модулей, запустив свой код и не перезагружая Shell после этого. Это особенно полезно после добавления импорта в начало файла. Это также увеличивает возможное завершение атрибута.

Поля заполнения изначально исключают имена, начинающиеся с „_“ или, для модулей, не включенные в „__all__“. К скрытым именам можно получить доступ, набрав „_“ после „.“ До или после открытия коробки.

Подсказки

Подсказка отображается автоматически, когда вводится ( после имени доступной функции. Выражение имени функции может включать точки и индексы. Подсказка остается до тех пор, пока по ней не будет щелкнуть, курсор не будет перемещен из области аргументов или пока не будет набран ). Когда курсор находится в аргументной части определения, выберите «Edit» и «Show Call Tip» в меню или введите ее ярлык, чтобы отобразить подсказку.

Подсказка состоит из сигнатуры функции и строки документации до первой пустой строки последней или пятой непустой строки. (Некоторые встроенные функции не имеют доступной сигнатуры.) Знаки „/“ или „*“ в сигнатуре указывают на то, что предыдущие или последующие аргументы передаются только по позиции или имени (ключевому слову). Детали могут быть изменены.

В Shell доступные функции зависят от того, какие модули были импортированы в пользовательский процесс, включая те, которые были импортированы самим Idle, и какие определения были выполнены с момента последнего перезапуска.

Например, перезапустите оболочку и введите itertools.count(. Подсказка появляется, потому что Idle импортирует itertools в пользовательский процесс для собственного использования. (Это может измениться.) Введите turtle.write(, и ничего не появится. Idle сам по себе не импортирует turtle. Пункт меню и ярлык также ничего не делают. Введите import turtle. После этого turtle.write( отобразит подсказку.

В редакторе операторы импорта не действуют, пока файл не будет запущен. Может потребоваться запустить файл после написания операторов импорта, после добавления определений функций или после открытия существующего файла.

Кодовый контекст

В окне редактора, содержащем Python код, может быть переключен код контекст, чтобы показать или скрыть стекло наверху окна. Как показано на рисунке, эта панель замораживает открывающиеся строки для блока код, например строки, начинающиеся с ключевых слов class, def или if, которые в противном случае были бы прокручены вне вида. Размер панели будет расширен и сокращен по мере необходимости для отображения всех текущих уровней контекст, вплоть до максимального количества строк, определенного в диалоговом окне «Настройка IDLE» (по умолчанию 15). Если нет текущих линий контекст и элемент включен, отображается одна пустая строка. Щелчок по строке на панели контекст переместит эту строку в верхнюю часть редактора.

Цвета текста и фона для панели контекст можно настроить на вкладке подсветки в диалоговом окне настройка IDLE.

Окно Python Shell

С помощью IDLE „s Shell можно вводить, редактировать и отзывать полные инструкции. Большинство консолей и терминалов одновременно работают только с одной физической линией.

Когда каждый приклеивает код в Shell, он не собран и возможно выполнен, пока каждый не поражает Return. Можно отредактировать приклеиваемый код сначала. Если вставить в Shell больше одной инструкция, результатом будет SyntaxError при компиляции нескольких инструкции, как если бы они были едиными.

Особенности редактирования, описанные в предыдущих подразделах, работают, входя в код в интерактивном режиме. Окно оболочки IDLE также отвечает на следующие клавиши.

  • C-c прерывает выполнение команды

  • C-d отправляет конец файла; закрывает окно, если оно введено в ответ на запрос >>>

  • Alt-/ (Развернуть слово) также полезно для сокращения набора

    История команды

    • Alt-p получает предыдущую команду, соответствующую введенной. При использовании macOS C-p.
    • Alt-n получает следующий. При использовании macOS C-n.
    • Return в то время как в любой предыдущей команде извлекает эту команду

Цвета текста

По умолчанию для белого текста в режиме ожидания используется черный, но текст окрашивается в специальные значения. Для оболочки это вывод оболочки, ошибка оболочки, вывод пользователя и ошибка пользователя. Для Python код в командной строке оболочки или в редакторе это ключевые слова, имена классов и функций построения, имена, следующие за class и def, строки и комментарии. Для любого текстового окна это курсор (при наличии), найденный текст (когда это возможно) и выделенный текст.

Раскраска текста выполняется на заднем плане, поэтому неколоризованный текст иногда виден. Чтобы изменить цветовую схему, используйте настраивание вкладки Highlighting диалога IDLE. Маркировка строк контрольных точек отладчика в редакторе и текста во всплывающих окнах и диалоговых окнах не настраивается пользователем.

Запуск и выполнение кода

На запуск с выбором -s IDLE выполнит файл, на который ссылаются переменные окружения IDLESTARTUP или PYTHONSTARTUP. IDLE первые проверки IDLESTARTUP; если IDLESTARTUP присутствует, файлом, на который ссылаются, управляют. Если IDLESTARTUP отсутствует, IDLE проверяет наличие PYTHONSTARTUP. Файлы, на которые ссылаются эти переменные окружения, являются удобными местами, чтобы сохранить функции, которые часто являются используемый от раковины IDLE, или для выполнения импорта инструкции, чтобы импортировать общие модули.

Кроме того, Tk также загружает файл запуска, если он присутствует. Обратите внимание, что файл Tk загружается безоговорочно. Этот дополнительный файл является .Idle.py и находится в домашнем каталоге пользователя. Инструкции в этом файле будет выполнен в пространстве имен Tk, таким образом, этот файл не будет полезен для импортирования функций, чтобы быть используемый от раковины IDLE Python.

Использование командной строки

idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

-c command  запустить команду в окне оболочки
-d          включить отладчик и открыть окно оболочки
-e          открыть окно редактора
-h          распечатать справочное сообщение с допустимыми комбинациями и выйти
-i          открытое окно оболочки
-r file     запустить файл в окне оболочки
-s          сначала запустится $IDLESTARTUP или $PYTHONSTARTUP в окне оболочки
-t title    установить заголовок окна оболочки
-           запустить stdin в оболочке (- должен быть последним параметром перед аргументами)

При наличии аргументов:

  • Если -, -c или r является используемый, все аргументы помещаются в sys.argv[1:...] и sys.argv[0] имеет значение '', '-c' или '-r'. Окно редактора не открывается, даже если оно установлено по умолчанию в диалоговом окне «Options».
  • В противном случае аргументы являются файлами, открытыми для редактирования, и sys.argv отражает аргументы, переданные самому IDLE.

Ошибка запуска

IDLE использует сокет, чтобы сообщить между процессом графический интерфейса пользователя IDLE и пользователем процесс выполнения код. Подключение должно быть установлено при каждом запуске или перезапуске оболочки. (Последняя обозначается разделительной линией, которая говорит «RESTART»). Если пользовательскому процессу не удается подключиться к процессу GUI, он отображает поле ошибки Tk с сообщением «не удается подключиться», которое направляет пользователя сюда. Затем он выходит.

Общей причиной сбоя является написанный пользователем файл с тем же именем, что и стандартный библиотечный модуль, например random.py и tkinter.py. Когда такой файл расположен в том же справочнике как файл, который собирается управляться, IDLE не может импортировать stdlib файл. Текущее исправление заключается в переименовании файла пользователя.

Хотя это и не так часто, как в прошлом, антивирусная программа или брандмауэр могут остановить подключение. Если программе нельзя преподавать позволить связь, то она должна быть выключена для IDLE, чтобы работать. Это внутреннее подключение безопасно, поскольку на внешних портах данные не видны. Аналогичная проблема заключается в неправильной конфигурации сети, которая блокирует соединения.

Инсталляционные проблемы Python иногда останавливают IDLE: могут столкнуться несколько версий, или единственная установка, возможно, нуждалась бы в доступе администратора. Если вы отменяете столкновение, или не может или не хотеть бежать как администратор, могло бы быть самым легким полностью удалить Python и начало.

Процесс zombie pythonw.exe может быть проблемой. В Windows с помощью диспетчера задач проверьте наличие такового и остановите его при его наличии. Иногда при перезапуске, инициированном сбоем программы или прерыванием клавиатуры (control-C), может возникнуть сбой при подключении. Отключение окна ошибки или использование команды перезапустить оболочку в меню оболочка может устранить временную проблему.

Когда IDLE сначала начинается, он пытается читать, пользовательские конфигурационные файлы в ~/.idlerc/ (~ корневой каталог). При возникновении проблемы должно отображаться сообщение об ошибке. Оставляя в стороне случайные сбои диска, это можно предотвратить, никогда не редактируя файлы вручную. Вместо этого используйте диалоговое окно конфигурации в разделе «Параметры». После ошибки в файле пользовательской конфигурации лучшим решением может быть его удаление и начало работы с диалоговым окном настроек.

Если IDLE выходит без сообщения и оно не было запущено с консоли, попробуйте запустить его с консоли или терминала (python -m idlelib) и проверьте, не приведет ли это к появлению сообщения об ошибке.

Работающий пользовательский код

За редким исключением, результат выполнения Python код с IDLE должен быть таким же, как выполнение того же код методом по умолчанию, непосредственно с Python в системной консоли текстового режима или окне терминала. Однако различные интерфейсы и операции иногда влияют на видимые результаты. Для сущность sys.modules начинается с дополнительных записей, а threading.activeCount() возвращает 2 вместо 1.

По умолчанию IDLE управляет пользователем код в отдельном процессе OS, а не в процессе пользовательского интерфейса, который управляет раковиной и редактором. В процессе выполнения он заменяет sys.stdin, sys.stdout и sys.stderr объектами, которые получают входные данные и отправляют выходные данные в окно оболочки. Исходные значения, хранящиеся в sys.__stdin__, sys.__stdout__ и sys.__stderr__, не трогаются, но могут быть None.

Когда Shell имеет фокус, она управляет клавиатурой и экраном. Обычно это прозрачно, но функции, непосредственно обращающиеся к клавиатуре и экрану, работать не будут. К ним относятся специфичные для системы функции, определяющие, нажата ли клавиша, и если да, то.

Стандартные замены потока IDLE не унаследованы подпроцессами, созданными в процессе выполнения, ли непосредственно пользователем код или модулями такой как многопроцессорные. Если такие подпроцессы используют input от sys.stdin или print или write к sys.stdout или sys.stderr, IDLE следует запустить в окне командной строки. Вторичный подпроцессы будет тогда присоединен к тому окну для входа и выхода.

IDLE код, бегущий в процессе выполнения, добавляет структуры к стопке требования, которая не была бы там иначе. IDLE оборачивает sys.getrecursionlimit и sys.setrecursionlimit, чтобы уменьшить эффект дополнительных кадров стека.

Если sys сбрасывается пользователем код, например, с помощью importlib.reload(sys), изменения IDLE теряются, и ввод с клавиатуры и вывод на экран будут работать неправильно.

Когда пользователь код поднимает SystemExit либо напрямую, либо путем вызова sys.exit, IDLE возвращается к подсказке Shell вместо выхода.

Пользовательский вывод в оболочке

Когда программа выводит текст, результат определяется соответствующим устройством вывода. Когда IDLE казнит пользователя, код, sys.stdout и sys.stderr связаны с областью дисплея Shell IDLE. Некоторые из его функций наследуются из базового виджета Tk Text. Другие - запрограммированные дополнения. Там, где это важно, Shell предназначена для разработки, а не для производственных прогонов.

Для сущность Shell никогда не выбрасывает выходные данные. Программа, отправляющая неограниченные выходные данные в Shell, в конечном итоге заполнит память, что приведет к ошибке памяти. В отличие от этого, некоторые системные текстовые окна сохраняют только последние n строк выходных данных. Консоль Windows, для сущность, сохраняет настраиваемые пользователем от 1 до 9999 строк с 300 строками по умолчанию.

Виджет Tk Text и, следовательно, IDLE „s Shell отображает символы (кодовые точки) в подмножестве BMP (Базовая многоязычная плоскость) Юникода. Какие символы отображаются с соответствующим глифом, а какие с рамкой замены зависят от операционной системы и установленных шрифтов. Символы табуляции приводят к тому, что после следующей позиции табуляции начинается следующий текст. (Они встречаются каждые 8 символов). Новые символы приводят к появлению следующего текста в новой строке. Другие управляющие символы игнорируются или отображаются как пробел, поле или что-либо еще, в зависимости от операционной системы и шрифта. (Перемещение текстового курсора через такой вывод с помощью клавиш со стрелками может показать неожиданное поведение интервала.):

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.

Функция repr является используемый для интерактивного эха выражения значения. Это возвращает измененную версию входа строка, в котором контроле коды, некоторые кодовые точки BMP и все non-BMP кодовые точки заменены побегом коды. Как показано выше, он позволяет идентифицировать символы в строка независимо от способа их отображения.

Нормальный и ошибочный выходные сигналы обычно сохраняются раздельными (на отдельных линиях) от код входных сигналов и друг от друга. Каждый из них получает различные цвета подсветки.

Для трейсбэки Error обычная маркировка „^“, в которой была обнаружена ошибка, заменяется раскраской текста с выделением ошибки. Когда пробег код из файла вызывает другие исключения, можно щелкнуть правой кнопкой мыши на линии трейсбэк, чтобы подскочить к соответствующей линии в редакторе IDLE. При необходимости файл будет открыт.

Shell имеет специальное средство для сжатия выходных строк вниз до метки «Сжатый текст». Это выполняется автоматически для вывода по N линиям (по умолчанию N = 50). N можно изменить в разделе PyShell на странице общие диалогового окна настройки. Вывод с меньшим количеством линий можно сжать, щелкнув правой кнопкой мыши на выходе. Это может быть полезной строкой, достаточно длинной, чтобы замедлить прокрутку.

Сжатые выходные данные развертываются по месту путем двойного щелчка по метке. Его также можно отправить в буфер обмена или в отдельное окно представления, щелкнув метку правой кнопкой мыши.

Разработка tkinter приложений

IDLE намеренно отличается от стандартных Python для облегчения разработки программ tkinter. Введите import tkinter as tk; root = tk.Tk() в стандартном Python, и ничего не появится. Введите то же самое в IDLE и появится окно tk. В стандартных Python для просмотра окна необходимо также ввести root.update(). IDLE делает эквивалент в фоновом режиме, примерно 20 раз в секунду, что составляет примерно каждые 50 миллисекунд. Затем введите b = tk.Button(root, text='button'); b.pack(). Опять же, ничего заметно не меняется в стандартной Python, пока не войдет root.update().

Большинство tkinter программ управляет root.mainloop(), который обычно не делает возвращает , пока tk приложение не уничтожено. Если программа выполняется с помощью редактора python -i или из редактора IDLE, то приглашение >>> shell не появляется до тех пор, пока mainloop() не вернется, когда не останется ничего, с чем можно будет взаимодействовать.

При запуске программы tkinter из редактора IDLE можно прокомментировать вызов mainloop. Затем немедленно получает приглашение оболочки и может взаимодействовать с активным приложением. Просто нужно не забыть повторно включать требование mainloop, бегая в стандартном Python.

Запуск без подпроцессов

По умолчанию IDLE выполняет пользовательский код в отдельном подпроцессы через сокет, который использует внутренний интерфейс закольцовывания. Это подключение не отображается извне, и данные не отправляются и не принимаются из интернета. Если программное обеспечение брандмауэра в любом случае жалуется, вы можете игнорировать его.

Если попытка установить соединение сокет не удалась, Idle уведомит вас. Такие сбои иногда являются временными, но если они сохраняются, проблема может заключаться либо в блокировании брандмауэром соединения, либо в неправильной настройке конкретной системы. Пока проблема не устранена, можно запустить Idle с ключом командной строки -n.

Если IDLE будет начат с-n выключателя командной строки, то он будет бежать в единственном процессе и не создаст подпроцессы, который управляет сервером казни RPC Python. Это может быть полезно, если Python не может создать подпроцессы или интерфейс RPC сокет на вашей платформе. Однако в этом пользователе режима код не изолирован от самого IDLE. Кроме того, окружающая среда не перезапущена, когда модуль пробега/Пробега (F5) отобран. Если код был изменен, необходимо перезагрузить () затронутые модули и повторно импортировать все определенные элементы (например, из базы импорта foo), чтобы изменения вступили в силу. По этим причинам предпочтительно выполнять IDLE с подпроцессы по умолчанию, если это вообще возможно.

Не рекомендуется, начиная с версии 3.4.

Помощь и предпочтения

Источники помощи

Вход меню справки «Помощь IDLE» показывает отформатированную версию HTML главы IDLE ссылки библиотеки. Результат в текстовом окне, доступном только для чтения, близок к тому, что видно в веб-браузере. Переходите по тексту, удерживая нажатой клавишу мыши, полосу прокрутки или стрелку вверх и вниз. Или нажмите кнопку TOC (оглавление) и выберите заголовок раздела в открывшемся поле.

Запись меню справки «Python Docs» открывает обширные источники справки, включая учебные пособия, доступные по адресу docs.python.org/x.y, где «x.y» - текущая запущенная версия Python. Если в системе имеется автономная копия документов (это может быть вариант установки), она будет открыта.

Выбранные URL можно добавить или удалить из меню справки в любое время с помощью вкладки «General» диалогового окна «Configure IDLE».

Настройка предпочтений

Предпочтения шрифта, выдвижение на первый план, ключи и общие предпочтения могут быть изменены через, настраивают IDLE в меню Option. Нестандартные пользовательские настройки сохраняются в каталоге .idlerc в домашнем каталоге пользователя. Проблемы, вызванные плохими пользовательскими конфигурационными файлами, решены, редактируя или удаляя один или несколько файлов в .idlerc.

На вкладке «Font» см. пример текста о влиянии грани и размера шрифта на несколько символов на нескольких языках. Отредактируйте образец, чтобы добавить другие персонажи, представляющие личный интерес. Используйте образец для выбора монополюсных шрифтов. Если определенные символы имеют проблемы в Shell или редакторе, добавьте их в верхнюю часть образца и попробуйте изменить сначала размер, а затем шрифт.

На вкладке выделения и ключи выберите встроенную или пользовательскую цветовую тему и набор ключей. Использовать более новую встроенную цветную тему или ключевой набор с более старым IDLEs, сохраните его как новая пользовательская тема или ключевой набор, и он хорошо быть доступным для более старого IDLE.

IDLE на macOS

В разделе системные настройки: док можно установить для параметра «Предпочтительные вкладки при открытии документов» значение «Всегда». Эта настройка не совместима с tk/tkinter фреймворк используемый графический интерфейса пользователя IDLE, и это ломает несколько особенностей IDLE.

Расширения

IDLE содержит средство расширения. Настройки расширений можно изменить на вкладке «Расширения» диалогового окна настроек. Для получения дополнительной информации см. начало файла config-extensions.def в каталоге idlelib. Единственным текущим расширением по умолчанию является zzdummy, пример также используемый для тестирования.