Spec-Zone.ru › Python 3.14

Приложение

16.1. Интерактивный режим

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

Начиная с Python 3.13 по умолчанию используется новая интерактивная оболочка. Она поддерживает цвет, редактирование многострочного ввода, просмотр истории и режим вставки. Подробнее об отключении цвета см. в разделе Управление цветом. Функциональные клавиши предоставляют дополнительные возможности. Клавиша F1 открывает интерактивный браузер справки pydoc. Клавиша F2 позволяет просматривать историю командной строки без вывода и без приглашений >>> и …. Клавиша F3 включает «режим вставки», упрощающий вставку больших блоков кода. Нажмите F3, чтобы вернуться к обычному приглашению.

Чтобы выйти из новой интерактивной оболочки, введите exit или quit. Добавлять скобки вызова после этих команд не нужно.

Если новая интерактивная оболочка вам не нужна, её можно отключить с помощью переменной среды PYTHON_BASIC_REPL.

16.1.1. Обработка ошибок

При возникновении ошибки интерпретатор выводит сообщение об ошибке и трассировку стека. В интерактивном режиме после этого он возвращается к основному приглашению; если ввод поступал из файла, после вывода трассировки стека интерпретатор завершается с ненулевым кодом выхода. (Исключения, обработанные предложением except в инструкции try, в данном контексте ошибками не считаются.) Некоторые ошибки всегда являются фатальными и приводят к завершению с ненулевым кодом выхода; к ним относятся внутренние несоответствия и некоторые случаи нехватки памяти. Все сообщения об ошибках выводятся в стандартный поток ошибок; обычный вывод выполняемых команд направляется в стандартный поток вывода.

Нажатие клавиши прерывания (обычно Control-C или Delete) при основном или дополнительном приглашении отменяет ввод и возвращает к основному приглашению. [1] Нажатие клавиши прерывания во время выполнения команды вызывает исключение KeyboardInterrupt, которое может быть обработано инструкцией try.

16.1.2. Исполняемые скрипты Python

В Unix-подобных системах BSD скрипты Python можно сделать непосредственно исполняемыми, как скрипты оболочки, добавив в начало строку

#!/usr/bin/env python3

(при условии, что интерпретатор находится в переменной PATH пользователя) и установив для файла режим исполнения. #! должна быть первыми двумя символами файла. На некоторых платформах эта первая строка должна заканчиваться символом конца строки в стиле Unix ('\n'), а не в стиле Windows ('\r\n'). Обратите внимание, что символ решётки, или хеш-символ, '#', используется в Python для начала комментария.

Установить для скрипта режим исполнения, или разрешение на исполнение, можно с помощью команды chmod.

$ chmod +x myscript.py

В системах Windows понятия «режим исполнения» не существует. Установщик Python автоматически связывает файлы .py с python.exe, поэтому двойной щелчок по файлу Python запускает его как скрипт. Также можно использовать расширение .pyw; в этом случае окно консоли, которое обычно появляется, не отображается.

16.1.3. Файл запуска интерактивного режима

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

Этот файл читается только в интерактивных сеансах, но не тогда, когда Python читает команды из скрипта, и не тогда, когда /dev/tty указан как явный источник команд (в этом случае режим работы в остальном аналогичен интерактивному сеансу). Файл выполняется в том же пространстве имён, что и интерактивные команды, поэтому определённые или импортированные в нём объекты можно использовать в интерактивном сеансе без уточнения имён. В этом файле также можно изменить приглашения sys.ps1 и sys.ps2.

Если вы хотите прочитать дополнительный файл запуска из текущего каталога, это можно настроить в глобальном файле запуска с помощью кода, например if os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read()). Чтобы использовать файл запуска в скрипте, необходимо явно указать это в самом скрипте:

import os
filename = os.environ.get('PYTHONSTARTUP')
if filename and os.path.isfile(filename):
    with open(filename) as fobj:
        startup_file = fobj.read()
    exec(startup_file)

16.1.4. Модули настройки

Python предоставляет две точки расширения для настройки: sitecustomize и usercustomize. Чтобы понять, как это работает, сначала нужно найти расположение каталога пользовательских site-packages. Запустите Python и выполните следующий код:

>>> import site
>>> site.getusersitepackages()
'/home/user/.local/lib/python3.x/site-packages'

Теперь в этом каталоге можно создать файл с именем usercustomize.py и поместить в него любой код. Он будет выполняться при каждом запуске Python, если только Python не запущен с параметром -s, отключающим автоматический импорт.

sitecustomize работает аналогичным образом, но обычно создаётся администратором компьютера в глобальном каталоге site-packages и импортируется перед usercustomize. Подробнее см. в документации модуля site.

Сноски

[1]

Этому может помешать проблема с пакетом GNU Readline.

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/tutorial/appendix.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API