Приложение
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.
Сноски
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/tutorial/appendix.html