Урок 2. Как работать с Python — режимы работы
В результате Python запустится в интерактивном режиме и будет ожидать ввод команд пользователя.
Если же у вас есть файл с исходным кодом на Python, и вы его хотите запустить, то для этого нужно в командной строке вызвать интерпретатор Python и в качестве аргумента передать ваш файл. Например, для файла с именем test.py процедура запуска будет выглядеть так:
Интерактивный режим
Откройте Python в интерактивном режиме и наберите в нем следующее:
И нажмите ENTER.
В ответ на это интерпретатор выполнит данную строку и отобразит строкой ниже результат своей работы.
Python можно использовать как калькулятор для различных вычислений, а если дополнительно подключить необходимые математические библиотеки, то по своим возможностям он становится практически равным таким пакетам как Matlab, Octave и т.п.
Различные примеры вычислений приведены ниже. Более подробно об арифметических операциях будет рассказано в следующих уроках.

Для выхода из интерактивного режима, наберите команду
и нажмите ENTER.
В комплекте вместе с интерпретатором Python идет IDLE (интегрированная среда разработки). По своей сути она подобна интерпретатору, запущенному в интерактивном режиме с расширенным набором возможностей (подсветка синтаксиса, просмотр объектов, отладка и т.п.).
Для запуска IDLE в Windows необходимо перейти в папку Python в меню «Пуск» и найти там ярлык с именем «IDLE (Python 3.5 XX-bit)».

Пакетный режим
Теперь запустим Python в режиме интерпретации файлов с исходным кодом (пакетный режим).
Откройте текстовый редактор (Блокнот) и введите следующую программу точно так, как написано:
print («Hello World!»)
Сохраните этот файл как «myFirstProg.py».
Чтобы выполнить этот файл в режиме сценария, мы просто пишем «python myFirstProg.py» в командной строке.
И вот что мы видим в итоге.

Еще один пример. Создайте файл с именем test.py, откройте его с помощью любого текстового редактора и введите следующий код:
a = int(input())
print(a**2)
Эта программа принимает целое число на вход и выводит его квадрат. Для запуска, наберите в командной строке
Пример работы программы приведен в окне ниже.

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru
Как включить в командной строке Python автодополнение и историю
Очень просто. Вам нужен небольшой скрипт, который будет незаметно запускаться при каждом старте вашего Python (как это сделать — чуть ниже). Вот скрипт:
def xscope(): import sys, os, readline, errno, atexit, rlcompleter if sys.version_info.major == 3: sys.ps1='\001\033[32;1m\002>>>\001\033[0m\002 ' sys.ps2='\001\033[32m\002. \001\033[0m\002 ' else: sys.ps1='\001\033[33;1m\002>>>\001\033[0m\002 ' sys.ps2='\001\033[33m\002. \001\033[0m\002 ' histfile = os.path.join(os.environ["HOME"], ".pyhist") try: readline.read_history_file(histfile) except IOError: if e.errno != errno.ENOENT: pass atexit.register(readline.write_history_file, histfile) readline.parse_and_bind("tab: complete") xscope() del xscope
Тут три секции, каждую из которых вы можете поправить по своему вкусу. Первая подкрашивает приглашение для ввода команд. Причём по втором Python вы будете видеть жёлтое приглашение, в третьем — зелёное. Это удобно и эту мысль можно развить. Скажем, не включать раскраску, если вы подключены по ssh (анализировать наличие переменной os.environ([«SSH_CONNECTION»]) ).
Вторая секция обеспечивает работу с историей, третья — отвечает за автодополнение.
Весь код заключён в функцию, чтобы результаты его работы наводили никаких эффектов на дальнейшую работу. И саму эту функцию тоже удаляем, чтобы обеспечить полную чистоту контекста.
Shell-часть
Чтобы всё это всегда запускалось само, надо положить этот код в какой-нибудь подходящий файл. Скажем, $HOME/bin/initialize.py . И прописать этот путь в переменную PYTHONSTARTUP в каком нибудь подходящем файле. Скажем в ~/.bashrc :
export PYTHONSTARTUP=$HOME/bin/initialize.py
Всё. Теперь просто запускаете Python и наслаждаетесь.
Как временно отказаться от этого
Возможно, в какой-то момент в вашем initialize.py окажется слишком много логики и красоты. Чтобы запустить python без выполнения initialize.py , просто задайте неправильное значение для PYTHONSTARTUP . Сделать это можно одной строкой:
PYTHONSTARTUP='' python2
Полезной, так же, является связка с env -i , но это для более тяжёлых случаев:
env -i python2
Работа с командной строкой при помощи Python

Передо мной стояла задача импортировать на сервер около 100 файлов. Использовать стандартный мастер экспорта/импорта крайне неудобно. Поэтому мы хотели импортировать на сервер через CMD, при этом видеть статус обработки по каждому из 100 файлов csv – получать отчет об успешной загрузке или неуспешной.
Для достижения этой цели выбраны следующие инструменты:
- Язык программирования Python. С его помощью мы автоматизируем работу с командной строкой Windows CMD – будем запускать поочередно загрузку файла на сервер СУБД и вести лог отчетов об успешном выполнении или нет.
- CMD + Bulk Copy Program для загрузки каждого отдельного файла.
Приведём пример кода:
#Импорт необходимых библиотек: import glob import os import datetime as dt
#Код нашей программы: # каталог, где распаложены файлы csv_str = glob.glob(r"C:\Users\Documents\*.csv") # генерирование строчки для командной строки bcp = r'bcp [SANDBOX].[aaa].[bbb] in "" -T -F2 -c -S server -t"~" -C ACP -k ' n = 1 # Время начала загрузки start = dt.datetime.now() print('\nВремя начала загрузки: ' + str(start)) for csv in csv_str: print('\nФайл ' + csv + ' ' + str(n) + ' из ' + str(len(csv_str)) + ' ' + str(dt.datetime.now())) # Запуск командной строки stream = os.popen(bcp.format(csv)) # Чтение командной строки output = stream.read()
Например, вот как будет выглядеть текст ошибки, если файла не будет в каталоге.
Error = [Microsoft][ODBC Driver 13 for SQL Server]ЌҐ г¤ Ґвбп ®вЄалвм д ©« ¤ ле BCP бҐаўҐаҐ.
Чтобы правильно, прочитать ошибку нужно сначала возвратить кодированную версию строки, а затем перекодировать её. Это можно сделать с помощью следующей строки:
output.encode('cp1251').decode('cp866')
Теперь мы можем прочитать нашу ошибку, и уже использовать текст для обработки исключений:
Error = [Microsoft][ODBC Driver 13 for SQL Server]Не удается открыть файл данных BCP на сервере.
Результатом программы является автоматизация загрузки множества файлов на сервер СУБД.
Урок 6. Как запускать Python программы
В прошлом уроке мы запустили свою первую программу на Python, она вывела фразу «Hello, World!». И эту программу мы запустили с помощью PyCharm.
Однако это не единственный способ выполнять Python-скрипты. Рассмотрим еще несколько вариантов.
И первый — это запуск программ из командной строки. Введем в строке поиска введем cmd и кликнем по найденной программе. Появилось черное окно — это командная строка. Мы уже запускали её ранее, когда проверяли установлен ли Python.
И командная строка — это такое место, где вы можете вводить разные команды, а также названия программ и они будут выполнятся. Программистам часто приходится иметь дело с командными строками, терминалами и другими похожими оболочками.
Чтобы в командной строке запустить Python-программу нужно сперва перейти в каталог, где эта программа расположена.
По умолчанию после открытия терминала мы находимся в домашней папке активного Windows-пользователя. И так как все наши проекты хранятся в каталоге PycharmProjects, то нужно ввести:
cd PycharmProjects
cd — это команда для смены текущего каталога. Сокращение от Change dir. Нажмем Enter. И мы в каталоге с проектами. Теперь перейдем непосредственно в наш проект. Снова ведем команду cd после которой укажем имя проекта (sepython):
cd sepyhton
Нажму Enter. Командная строка вывела, что системе не удается найти указанный путь. Если вы видите такую же надпись, то причин может быть две:
Первая — это опечатка в имени файла или каталога. Это самая распространенная ошибка, внимательно проверьте то, что набрали.
Вторая причина может заключаться в том, что в данном каталоге просто нет папки SEPython. Возможно вы создали её в другом месте.
Чтобы проверить какие файлы или каталоги есть в текущей директории, надо набрать команду dir.
Чтобы минимизировать опечатки, можно пойти на небольшую хитрость и не вводить имя каталога вручную, а воспользоваться автоподстановкой командной строки.
Для этого надо снова ввести команду cd, за ней пробел, а после написать se и нажать клавишу Tab. Командная строка сама дополнит имя каталога до правильного. После чего нужно снова нажать Enter и нас сразу переместит в каталог с проектом.
Если мы еще раз выполним комунд dir, то увидим каталоги Lessons и Tasks, а также файл main.py.
Что ж, нам надо запустить нашу программу hello_world.py, а она находится в папке Lessons. Перейдем в неё:
cd Lessons
Теперь надо запустить hello_world.py и для этого надо сперва написать python, а затем через пробел имя программы hello_world.py:
python hello_world.py
Обратите внимание, что я набираю имя программы, ровно так как его записал в прошлом уроке. Все символы строчные, между словами стоит подчеркивание, а не пробел.
Что ж, нажму Enter! Программа вывела фразу «Hello, world! Отлично, у нас всё получилось.
Теперь давайте рассмотрим несколько распространенных ошибок, которые у вас могут возникнуть на данном этапе. Первая — это снова опечатка. Если поменять два последних символа местами и снова попробовать запустить программу, то мы увидим ошибку, что файл hello_world.yp не найден в текущем каталоге. Когда вы видите такую ошибку, то это повод проверить имя файла, а также его реальное присутствие в данной директории.
В целом с hello_world мы закончили, и осовная проблема данной прогарммы в том, что она всегда будет выводить фразу, которую мы задали внутри программы, а это делает код абсолютно бесполезным. Другое дело hello_user.py, которую я добавил самостоятельно (у вас этой программы пока нет).
Сейчас я покажу как она работает, а в следующем уроке покажу и объясню её исходный код. То есть то, что находится внутри скрипта.
Итак давайте введем:
python hello_user.py
Программа вывела что-то непонятное. На самом деле она завершилась с ошибкой. Дело в том, что скрипт hello_user.py нужно запускать с передачей аргументов или другими словами с передачей дополнительных параметров.
Это значит, что нужно писать python hello_user.py плюс еще какой-то текст, например такой:
python hello_user.py Nikita
В этом случае слово Nikita — это аргумент командной строки, который при запуске будет отправлен в программу hello_user.py.
То есть сейчас в строке три элемента: сам python, имя программы hello_user.py и аргумент командной строки Niktia.
Python запустит программу hello_user.py и передаст в неё слово Nikita. Программа в свою очередь примет это слово и что-то с ним сделает. Давайте посмотрим, что именно, нажмем Enter..
Скрипт отработал без ошибок и поздоровался с нами: «Hello Nikita. Отлично.
Если при запуске передать другой параметр, например Nikita заменить Alena, то скрипт поздоровается с Аленой:
python hello_user.py Alena
То есть теперь программа не просто работает, а она уже умеет каким-то элементарным способом обрабатывать входящие данные и выводить различные результаты в зависимости от этих данных.
В этом курсе, при решении задач, вам часто придется писать подобные программы, которые умеют принимать и обрабатывать входящие данные. И как это правильно сделать мы разберем в следующем уроке.
Следующий урок
Урок 7. Запуск программ с одним аргументом
В этом уроке вы узнаете как писать python-программы, которые принимают аргументы командой строки, а также о том, как из запускать.
Посмотреть
Полный курс с практикой
- 146 уроков
- 303 задания
- Сертификат
- Поддержка преподавателя
- Доступ к курсу навсегда
- Можно в рассрочку
