Spec-Zone.ru › Python 3.13

Приложение

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

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

В Windows или на системах типа Unix с поддержкой curses по умолчанию используется новый интерактивный оболочка. Эта оболочка поддерживает цвет, многострочное редактирование, просмотр истории и режим вставки. Чтобы отключить цвет, см. Управление цветом для получения подробностей. Функциональные клавиши предоставляют некоторые дополнительные возможности. 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. Чтобы увидеть, как это работает, сначала необходимо найти местоположение каталога user site-packages. Запустите Python и выполните этот код:

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

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

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

Примечания

[1]

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

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

Spec-Zone.ru

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