Как запустить скрипт на питоне
Перейти к содержимому

Как запустить скрипт на питоне

Приступая к работе¶

Если у тебя ещё нет Python’а, ты можешь найти последние официальные установочные файлы здесь:

Будучи последним, Python 3 предпочтительнее!

На Windows можно добавить Python в переменную “path”, чтобы её было легче найти. Для этого нужно перейти в каталог с установленным Python’ом (например, C:\Python33\ ), открыть директорию Tools , потом — Scripts и запустить двойным кликом файл win_add2path.py .

И редактор кода¶

Хороший редактор кода помогает читать и писать программы. Их много, а каждый программист выбирает подходящий для себя так же, как теннисист выбирает ракетку, а шеф-повар — нож. Начинающим больше подойдут несложные, незапутанные, но помогающие в работе, редакторы, например:

Sublime Text: простой, но проприетарный редактор, поддерживающий Windows, Mac и GNU/Linux. Сочетание клавиш Ctl+B запускает открытый файл.

Geany: простой в обращении и не перегруженный функциями редактор, работающий на Windows и GNU/Linux.

TextMate: один из самых известных редакторов кода для Mac’ов, изначально бывший коммерческим продуктом, но позже ставший свободным и бесплатным.

Gedit и Kate: если ты используешь GNU/Linux с Gnome или KDE соответственно, то один из них должен быть предустановлен!

Komodo Edit: неплохой свободный редактор под Mac, Windows и GNU/Linux, основанный на более мощной Komodo IDE.

Если ты хочешь последовать нашим рекомендациям, для начала попробуй Sublime Text.

Wordpad, TextEdit, Notepad и Word – неподходящие текстовые редакторы.

Всё же, что такое Python?¶

Python — это вещь, называемая языком программирования. Она принимает текст (обычно называемый кодом), который ты написал, переводит его в инструкции для компьютера, которые затем исполняет. Мы будем учиться писать код, чтобы делать клёвые и полезные вещи. Отныне вы не обязаны использовать чужие программы, чтобы выполнять работу на компьютере!

В действительности, Python – всего лишь ещё одна программа на твоём компьютере. Для начала нужно узнать, как использовать и взаимодействовать с ним. Существует много способов научиться этому, первый из которых – работать и интерпретатором Python, используя консоль операционной системы (ОС).

Консоль (“терминал”, “командная строка”) – это текстовый (в отличие от так называемых “окружений рабочего стола” (Desktop Environment, DE), работающих в связке с мышью) интерфейс для работы с ОС.

Открываем консоль в Mac OS X¶

Стандартная консоль OS X зовётся Терминалом, который можно найти с помощью поиска (правый верхний угол) по системе или в разделе Приложения -> Утилиты .

Командная строка Terminal — это инструмент для “общения” с компьютером. Открывшееся окно должно содержать сообщение-подсказку, что-то вроде этого:

Открываем консоль в GNU/Linux¶

В дистрибутивах GNU/Linux (Ubuntu, Fedora, Mint и т.д.) обычно уже установлены разные программы-консоли, обычно называемые терминалами. То, какой терминал установлен, зависит от используемого дистрибутива. Например, в Ubuntu это Gnome Terminal. После запуска появляется приглашение вроде этого:

Открываем консоль в Windows¶

В WIndows консоль называется командной строкой (cmd). Самый простой способ запустить её — нажать Windows+R ( Windows — это клавиша с соответствующим логотипом), в открывшемся окне ввести cmd и нажать Enter (или кликнуть по кнопке Ok ); также можно найти её в меню Пуск . Выглядеть командная строка должна примерно так:

Командная строка Windows намного менее функциональна, чем её аналоги из GNU/Linux и OS X, потому лучше запускать интерпретатор Python’а (см. ниже) напрямую или с помощью программы IDLE, которая поставляется с Python’ом (найти её можно в меню “Пуск”).

Использование Python¶

Python-программа, установленная по умолчанию, называется интерпретатором. Интепретатор принимает команды и выполняет их после ввода. Очень удобно для тестирования чего-либо.

Чтобы запустить интерпретатор, просто введи python и нажми Enter.

Чтобы узнать, какая версия Python запущена, используй python -V

Взаимодействие с Python’ом¶

Когда Python запустится, ты увидишь что-то вроде этого:

>>> в последней строке означает, что сейчас мы находимся в интерактивном интерпретаторе Python, также называемом “Оболочкой Python (Python shell)”. Это не то же самое, и что обычная командная строка!

Теперь ты можешь ввести немного Python-кода. Попробуй:

Нажми <Enter> и посмотри, что произошло. После вывода результата Python вернёт тебя обратно в интерактивную оболочку, в которой мы можем ввести какую-нибудь другую команду:

Очень полезна команда help() , которая поможет тебе изучить досконально изучить Python, не выходя из интерпретатора. Нажми q , чтобы закрыть окно со справкой и вернуться в командную строку Python.

Чтобы выйти из интерактивной оболочки, нажми Ctrl-Z и затем Enter , если используешь Windows, и Ctrl-D , если используешь GNU/Linux или OS X. Этого же можно добиться вводом Python-команды exit() .

Запуск файлов с Python-кодом¶

Когда Python-кода становится слишком много, лучше записывать его в файлы. Это, например, позволит тебе редактировать отдельные части кода (исправлять ошибки) и тут же запускать их без необходимости перепечатывать текст. Просто сохрани код в файл, и передай его имя python‘у. Записанный в файл исходный код будет выполнен без запуска интерактивного интерпретатора.

Давай попробуем сделать это. С помощью своего любимого текстового редактора создай файл hello.py в текущей директории и запиши в него программу команду, выводящую фразу “Hello world”, из примера выше. На GNU/Linux или OS X также можно выполнить команду touch hello.py , чтобы создать пустой файл для последующего редактирования. Выполнить сохранённую в файле программу проще простого:

Для начала убедись, что ты находишься в командной строке (на конце строк должны находиться символы $ или > , а не >>> , как в интерактивной оболочке Python).

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

Когда ты нажмешь <Enter> в консоли, наш файл выполнится и результат его работы будет выведен на экран. В этот момент интерпретатор Python выполнит все инструкции, находящиеся в скрипте и вернет управление командной строке, а не интерактивной оболчке Python.

Теперь всё готово, и мы можем приступить к черепашке!

Вместо ожидаемого “Hello world” ты получил какие-то странные ошибки “can’t open file” или “No such file or directory”? Скорее всего, что ты работаешь не в той директории где сохранен твой Pyhton-скрипт. С помощью командной строки легко сменить текущий активный каталог, используя команду cd, что означает “change directory” (сменить каталог). В Windows эта команда может выглядеть так:

В Linux или OS X:

С помощью этой команды мы перейдем в папку Python_Exercises, которая находиться в папке Desktop (конечно же, на твоем компьютере названия папок будут отличаться). Если ты не знаешь путь к каталогу, где ты сохранил свой файл, попробуй просто перетащить папку в окно консоли. А если ты не знаешь в какой папке ты сейчас находишься в консоли — воспользуйся командой pwd, которая означает “print working directory” (показать активную директорию).

Эксперементируя с черепашкой, не называй рабочий файл turtle.py — лучше выбрать более подходящие имена, такие как square.py или rectangle.py , иначе при обращении к turtle Python будет использовать твой файл вместо turtle из стандартной библиотеки.

  • Edit on Github
  • Report a problem

© Авторские права 2012–2014, OpenTechSchool and contributors.
Создано с помощью Sphinx 1.3.1.

Как запустить скрипт на питоне

Желание изучить питон было давно. Я много где слышал что он хорошо подходит для прототипов, скриптов и небольших приложений. Он отличается высокой скоростью разработки и низким порогом вхождения. Динамичность — непривычно, но решаемо.

И вот, написал первый скрипт. Он оптимизирует перемещение на «сегодня» просроченных задач в тудуисте. Перенос в приложении выполняется в 3 действия: выделить задачи с зажатым шифтом, пройти через пункты меню и нажать заветную кнопку: «перенести на сегодня». Это не всегда получается с одной попытки. Время для автоматизации!

Установка Python 3

Не нашел причин, чтобы начать знакомство не с 3 версией питона. И, так как в Mac OS X El Capitan, установлена версия 2.7, то рассмотрим простой способ установки Python 3.

Понадобится менеджер пакетов Homebrew. У кого нет — советую. Для его установки введем в терминале:

Теперь установим третий питон:

Проверить работоспособность можно набрав в консоли python3 .

Получение пакета для работы с тудуистом

Следующий этап — установка библиотеки для работы с АПИ тудуиста. Воспользуемся менеджером пакетов pip3, который поставляется вместе с Python 3:

Напоминаю о командной оболочке Zsh, о которой я писал ранее. Подключив плагины brew и pip можно добавить автодополнение для команд и пакетов.

Среда разработки

Автодополнение, рефакторинг, отладка — все это помогает на любых стадиях изучения языка. Поэтому я воспользовался IDE от JetBrains — PyCharm CE. Это бесплатная версия, в которой есть все необходимое.

Стиль кода и именования

Планирутся отдельная статья. А пока — о стиле именования.

Имена функций, методов и переменных экземпляров классов должны состоять из маленьких букв, а слова разделяться символами подчеркивания:

Стиль mixedCase допускается в тех местах, где уже преобладает такой стиль, для сохранения обратной совместимости:

Для атрибутов и непубличных методов используется один символ подчёркивания перед именем:

Итерация и получение значений из коллекций

Библиотека todoist возвращает на запрос о просроченных задачах словарь или список. Возник вопрос: как работать с коллекциями?

Итерация оказалась похожа на foreach из C#:

Для получения значения словаря есть 2 способа . Первый — обращение по ключу:

Но, если значения нет, возникнет ошибка — KeyError: ‘id’ . Поэтому при неуверенности, используйте get :

Если значение отсутствует, метод вернет значение по умолчанию — None .

Преобразование и работа с датой

Рассмотрим как парсить дату, находить дельту, добавлять значения и приводить к определенному строковому формату.

Разберем построчно код из моего скрипта:

  1. По ключу due_date_utc получаем дату в формате "Fri 26 Sep 2014 08:25:05 +0000" . Выражением %a %d %b %Y %H:%M:%S %z переводим в понятный питону формат. Документация по значениям переменных из выражения.
  2. Находим разницу между текущей датой и датой полученного объекта.
  3. Актуализируем дату объекта, добавляя к нему полученную разницу дней.
  4. Переведем дату в строку используя %Y-%m-%dT%H:%M:%S и отправим изменения в тудуист.

Типы выполнения модуля с кодом

Часто, читая код на гитхабе, встречал конструкцию:

Выясним ее предназначение.

Когда исполняется файл с кодом, выполняются все команды на нулевом уровне: задаются специальные переменные, импортируются модули, определяются функции и классы. Одна из специальных переменных — __name__ . Она хранит имя модуля, который вызвал скрипт.

Например, модуль вызвали из файла foo.py :

Переменная __name__ примет значение foo . Если вызвать скрипт напрямую из терминала:

__name__ инициализируется значением __main__ . И тогда выполнится весть код из условия if __name__ == "__main__": . Получается, модуль может работать и библиотекой и независимым приложением.

Добавление атрибутов командной строки

Мой скрипт может принимать значение токена АПИ тудуиста. Для этого скрипт вызывается с параметром -t :

Рассмотрим построчно, как задавать описание скрипта и определять аргументы:

  1. Инициализируем класс ArgumentParser , помогающий работать с командной строкой, и зададим описание скрипта.
  2. Добавим аргумент, задаваемый ключом ’-t’ или ’—token’ . В параметре help указываем описание, показываемое при вызове скрипта с ключом -h .
  3. Переводим строки аргументов в объекты и присваиваем их как атрибуты к переменной.

Теперь, при запуске скрипта с ключом -t , в переменной args.token будет храниться значение введенного токена. Про остальные параметры и методы можно узнать в документации python.

Чтение и запись в файл конфигурации

Полученный токен хранится в конфигурационном файле. Рассмотрим код для доступа, чтения и записи значения:

Чтение и запись в файл конфигурации

Полученный токен хранится в конфигурационном файле. Рассмотрим код для доступа, чтения и записи значения:

  1. Инициализируем ConfigParser и читаем файл из домашней директории пользователя. expanduser(‘

Мне понравилось, как просто записать изменения в файл. В C# для этого надо открывать потоки, указывать дополнительную информацию, здесь это просто 2 строчки. Возьми это и запиши сюда, все.

Заключение

Знакомство с языком Python оставило приятное впечатление. Как минимум его стоит изучить на базовом уровне, чтобы автоматизировать происходящие вокруг вас процессы. Он также хорош для быстрого написания прототипа идеи, засевшей у вас в голове.

Cкрипты — Python: Настройка окружения

Любая программа должна быть когда-нибудь запущена, иначе зачем её вообще писать? В интерпретируемых языках от написания кода до запуска — всего один шаг. Ничего не нужно компилировать в машинный код, всю работу делает интерпретатор, которому достаточно подать на вход скрипт (англ. script) — так часто называют программы на интерпретируемых языках, представляющие из себя простые последовательности команд, которые компьютеру нужно выполнить. Часто языки, которые максимально упрощают написание скриптов (как говорят, "скриптование") и их запуск, называют "скриптовыми языками" или же "языками для написания сценариев" (слово "script" на русский переводится как "сценарий").

Скрипты на Python

Python отлично подходит на роль скриптового языка: последовательность команд в простых сценариях не нужно никак оформлять и запускать скрипты максимально просто — мы просто пишем команды одну за другой в файл:

а затем просто вызываем интерпретатор с полученным файлом на входе:

Эта простота использования вместе с большим количеством полезных модулей и функций, входящих в поставку Python, делают последний хорошим инструментом для автоматизации различных задач, которые не хочется выполнять вручную при работе на компьютере. К тому же написание скриптов — отличная отправная точка для тех, кто только начинает знакомиться с программированием!

Скрипты и shebang

В unix-подобных операционных системах (macOS, Linux, BSD и пр.) командные оболочки умеют запускать скрипты на любых языках, в т.ч. и на Python, если эти скрипты сообщают оболочке, какой интерпретатор нужно вызывать для выполнения сценария. Интерпретатор указывается специальной строкой в самой первой строчке файла скрипта, которая называется shebang, от названий первых двух символов такой строчки: # называется "sharp", а ! — "bang!".

Типичный shebang выглядит так:

где после символов #! идёт путь до интерпретатора. Командная оболочка при запуске скрипта, содержащего shebang, читает первую строку и пробует запустить указанный интерпретатор. Если скрипту с указанным shebang дать права на исполнение, то интерпретатор в командной строке можно будет не указывать:

Shebang и разные версии Python

shebang — штука довольно простая, когда интерпретатор в системе ровно один. Но мы с вами знаем, что версий Python в системе может быть установлено несколько. Более того, в виртуальном окружении — а в работе вы практически всегда будете их использовать — путь к интерпретатору будет отличаться от /usr/bin и будет разным в разных окружениях! Как же сделать так, чтобы скрипт запускался всегда с нужной версией Python? Есть способ добиться такой универсальности: нужно всего лишь не указывать путь до команды python напрямую, а использовать программу env .

Эта программа умеет находить и запускать программы с учётом переменных окружения и, т.к. при активации виртуального окружения модифицируется переменная $PATH , то env будет запускать именно ту версию интерпретатора, которая нам нужна (она просто найдётся раньше, т.к. путь до исполняемых файлов окружения добавляется в начало $PATH ).

Итак, представляем правильный способ указывать shebang в проектах на python! Встречайте:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *