Содержание страницы
2. Использование интерпретатора Python¶Using the Python Interpreter
2.1. Запуск интерпретатора¶Invoking the Interpreter
Интерпретатор Python обычно устанавливается как /usr/local/bin/python на тех машинах, где он доступен; добавление /usr/local/bin в переменную PATH
оболочки Unix позволяет запустить его командой
python
в оболочку. Поскольку выбор каталога, в котором находится интерпретатор, является
опцией установки, возможны и другие расположения; уточните у местного гуру Python
или системного администратора. (Например, /usr/local/python – популярное
альтернативное расположение.)
На компьютерах с Windows установка Python обычно производится в
C:\Python27, хотя можно изменить это при запуске установщика. Чтобы добавить этот каталог в путь, можно ввести следующую команду в командной строке в окне DOS:
set path=%path%;C:\python27
Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) на основном приглашении вызывает завершение интерпретатора с нулевым статусом выхода. Если это не работает, можно выйти из интерпретатора, набрав следующую команду: quit().
Возможности редактирования командной строки интерпретатора обычно не очень развиты. В Unix
тот, кто устанавливал интерпретатор, мог включить поддержку библиотеки GNU
readline, которая добавляет более продвинутые возможности интерактивного редактирования и истории.
Возможно, самый быстрый способ проверить, поддерживается ли редактирование командной строки –
набрать Control-P после первого приглашения Python. Если раздастся звуковой сигнал,
редактирование командной строки включено; см. Приложение Интерактивное редактирование ввода и подстановка истории для
ознакомления с клавишами. Если ничего не происходит или если выводится ^P,
редактирование командной строки недоступно; вы сможете использовать только Backspace для
удаления символов из текущей строки.
Интерпретатор работает примерно как оболочка Unix: при вызове со стандартным вводом, подключенным к tty-устройству, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом – именем файла или с файлом в качестве стандартного ввода, он читает и выполняет скрипт из этого файла.
Второй способ запуска интерпретатора – python -c command [arg] ...,
который выполняет инструкции в команде, аналогично опции -c оболочки. Поскольку инструкции Python часто содержат пробелы или другие символы, имеющие специальное значение для оболочки, обычно рекомендуется заключать команду целиком в одинарные кавычки.
Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью python -m module [arg] ..., который выполняет исходный файл для module так, как если бы его полное имя было введено в командной строке.
При использовании файла скрипта иногда бывает полезно запустить скрипт и после этого войти в интерактивный режим. Это можно сделать, передав -i перед именем скрипта.
Все параметры командной строки описаны в Командная строка и окружение.
2.1.1. Передача аргументов¶Argument Passing
Когда интерпретатору известно имя скрипта, оно и последующие дополнительные аргументы преобразуются в список строк и присваиваются переменной argv модуля sys. Доступ к этому списку можно получить, выполнив import
sys. Длина списка – не менее одного; если не заданы ни скрипт, ни аргументы, sys.argv[0] является пустой строкой. Когда имя скрипта указано как '-' (означает стандартный ввод), sys.argv[0] устанавливается в '-'. При использовании -c command, sys.argv[0] устанавливается в '-c'. При использовании -m module, sys.argv[0] устанавливается в полное имя найденного модуля. Параметры, указанные после -c command или -m module, не обрабатываются интерпретатором Python при разборе параметров, а остаются в sys.argv для обработки командой или модулем.
2.1.2. Интерактивный режим¶Interactive Mode
Когда команды читаются с tty, говорят, что интерпретатор находится в интерактивном режиме. В этом режиме он выводит приглашение для следующей команды с помощью основного приглашения, обычно три знака «больше» (>>>); для строк продолжения он выводит вторичное приглашение, по умолчанию три точки (...). Перед первым приглашением интерпретатор выводит приветственное сообщение с номером версии и уведомлением об авторских правах:
python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
>>>
Строки продолжения необходимы при вводе многострочных конструкций. Например, взгляните на эту инструкцию if:
>>> the_world_is_flat = 1
>>> if the_world_is_flat:
... print "Be careful not to fall off!"
...
Be careful not to fall off!
Подробнее об интерактивном режиме см. в Интерактивный режим.
2.2. Интерпретатор и его окружение¶The Interpreter and Its Environment
2.2.1. Кодировка исходного кода¶Source Code Encoding
По умолчанию исходные файлы Python считаются закодированными в ASCII. Чтобы объявить кодировку, отличную от стандартной, необходимо добавить специальную строку комментария в качестве первой строки файла. Синтаксис следующий:
# -*- coding: encoding -*-
где encoding – одно из допустимых значений codecs, поддерживаемых Python.
Например, чтобы объявить использование кодировки Windows-1252, первая строка исходного файла должна быть:
# -*- coding: cp1252 -*-
Одним исключением из правила первой строки является случай, когда исходный код начинается с UNIX-строки «shebang». В этом случае объявление кодировки должно быть добавлено второй строкой файла. Например:
#!/usr/bin/env python
# -*- coding: cp1252 -*-