Выполнение программ

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

Сначала открываем редактор, создаем папку в которой будут храниться файлы. Обычно я создаю папку Dev в корне домашней папки, если работаю на masOS или Linux или в корне диска, если в Windows. Старайтесь не создавать рабочие папки в пути которых содержатся пробелы. Раньше мне много раз приходилось сталкиваться с ситуациями, когда это мешало работе. Хотя, возможно, с тех пор все ошибки уже исправили.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
codes = {
    "А": ".-",
    "Б": "-...",
    "В": ".--",
    "Г": "--.",
    "Д": "-..",
    "Е": ".",
    "Ж": "...-",
    "З": "--..",
    "И": "..",
    "Й": ".---",
    "К": "-.-",
    "Л": ".-..",
    "М": "--",
    "Н": "-.",
    "О": "---",
    "П": ".--.",
    "Р": ".-.",
    "С": "...",
    "Т": "-",
    "У": "..-",
    "Ф": "..-.",
    "Х": "....",
    "Ц": "-.-.",
    "Ч": "---.",
    "Ш": "----",
    "Щ": "--.-",
    "Ъ": "--.--",
    "Ы": "-.--",
    "Ь": "-..-",
    "Э": "..-..",
    "Ю": "..--",
    "Я": ".-.-",
    "1": ".----",
    "2": "..---",
    "3": "...--",
    "4": "....-",
    "5": ".....",
    "6": "-....",
    "7": "--...",
    "8": "---..",
    "9": "----.",
    "0": "-----",
    ".": "......",
    ",": ".-.-.-",
    ":": "---...",
    ";": "-.-.-.",
    "(": "-.--.-",
    ")": "-.--.-",
    "'": ".----.",
    '"': ".-..-.",
    "-": "-....-",
    "/": "-..-.",
    "?": "..--..",
    "!": "--..--",
    "@": ".--.-.",
    "=": "-...-",
    " ": " ",
}

print("Перевод текста в азбуку Морзе")
text = input("Введите текст кирилицей: ")
converted = " ".join([codes[i] for i in text.upper()])
print(f"Ваш текст азбукой Морзе будет {converted}")

Если вы копировали этот текст с экрана, то сохраните файл под именем morse.py. Имя файла состоит из двух частей объединенных точкой. morse — первая часть, это имя. Python придает особое внимание именам, и когда мы будем изучать модули вы узнаете об этом подробнее. Последняя часть имени файла .py — это расширение. Очень важно правильно указывать расширение, потому что редакторы и операционная система по расширению определяют что это за тип файла. Если вы скопировали текст, вставили в VS Code и сохранили с правильным расширением, то редактор тут же подсвечивает синтаксис файла в окне редактирования. То есть он должен стать разноцветным.

Частые ошибки новичков

Частая ошибка новичков — неправильно указать расширение или вообще забыть его дописать.

Выполнение файла с диска

Теперь запустим наш файл. Для первого раза проще будет выбрать файл правой кнопой мыши и выбрать пункт "Run Python File in Terminal". Если все пройдет успешно, то программа запустится и предложет вам ввести текст, который потом конвертируется в азбуку Морзе.

Если вы присмотритесь, то увидите, что VS Code поставил путь к текущей версии Python, путь к файлу и запустил его. Именно так и работает запуск Python-скриптов. Переместитесь в терминале в папку, в которой находится скрипт с помощью команды cd и введите команду:

$ python morse.py
Перевод текста в азбуку Морзе
Введите текст кирилицей: Скрипт работает!
Ваш текст азбукой Морзе будет ... -.- .-. .. .--. -   .-. .- -... --- - .- . - --..--

Программа выполнила свою работу и завершилась. И вы опять вернулись к приглашению коммандной строки.

Запуск скриптов на Windows двойным кликом

После установки Python на Windows вы сможете просто кликнуть на файл с расширением .py или .pyw чтобы запустить его выполнение. Пока ваши программы очень простые, и они хранят внутри себя все что им нужно для работы, это имеет смысл. Но к концу курса, вы узнаете как настраивается рабочее окружение для более крупных проектов которым нужны дополнительные модули. И тогда вы поймете, что такой способ на самом деле больше мешает чем помогает. Поэтому лучше не привыкайте запускать скрипты таким образом.

Вторая неприятная проблема с которой вы столкнетесь когда будете запускать программы двойным щелчком: после выполнения скрипта окно будет моментально закрываться. Это будет вас постоянно раздражать и мешать работе.

Чем быстрее вы привыкнете запускать скрипты в терминале тем быстрее вы выработаете у себя правильную привычку.

Работа с коммандной строкой

В этом курсе я не успею рассказать вам как работать с командной строкой, но я сделал для вас список того, что нужно изучить самостоятельно:

  • Как запускаются программы;
  • Что такое параметры командной строки;
  • Как сменить рабочую директорию;
  • Как перенаправить вывод программы в файл;
  • Что такое переменные окружения;
  • Как устроена переменная PATH и как работает поиск.

Выполнить и продолжить работу

Если запускать программу из командной строки обычным способом, то после завершения интерпретатор прекратит работу. Но иногда бывает полезно оставить интерпретатор в интерактивном режиме. Для этого используется ключ -i:

$ python -i morse.py

Полная справка по командной строке интерпретатора доступна с ключем --help:

$ python --help
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
....

Задание для самопроверки: Выведите версию Python с помощью параметров командной строки.

Ответ

Введите в командной строке:

python -V