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

Как открыть командную строку в питоне

  • автор:

Как запустить код на Python?

В одной из предыдущих статей рассказывалось, как установить Python на операционные системы Windows и Linux. Этот материал посвящён запуску и первоначальной работе с «Пайтоном». Будут рассмотрены два основных способа запустить его: интерпретация строк исходного кода, вводимого с помощью клавиатуры (интерактивный режим), а также исполнение файлов с кодом (пакетный режим). Отдельный разговор пойдёт про особенности запуска программы и кода Python в Windows и Linux. Материал предназначен для начинающих.

Язык программирования «Пайтон» является интерпретируемым. В этом контексте можно сказать, что кроме самой программы, пользователю ещё нужен и специальный инструмент, обеспечивающий её запуск.

Вернувшись на несколько шагов назад, следует напомнить, что языки программирования бывают: — компилируемыми. С высокоуровневого языка код переводится в машинный с учётом конкретной платформы. Далее распространение происходит в качестве бинарного файла (чаще всего). Запускаться такая программа может без дополнительных программных средств (необходимые библиотеки следует оставить за рамками данного обсуждения). Наиболее распространёнными компилируемыми языками программирования являются C++ и C; — интерпретируемыми. В этом случае выполнение программы осуществляется интерпретатором с последующим распространением в виде исходного кода. Самый популярный язык из этой категории — общеизвестный «Питон» или «Пайтон» (Python).

Запуск кода Python: интерактивный режим в CMD

Python способен функционировать в 2-х режимах: — пакетный; — интерактивный.

Пользователям Windows можно проверить интерактивный режим работы с кодом с помощью командной строки (CMD, command line interpreter — интерпретатор командной строки). Открыв командную строку, следует набрать следующую команду:

 
python

Итогом станет запуск «Пайтона» в интерактивном режиме. Далее программа станет ждать ввод последующих команд (commands) от пользователя. Вот, как это может выглядеть:

Screenshot_1-1801-619de3.png

Программа готова к запуску кода. Прекрасный пример — использование классического приветствия, в которое можно внести минимальные изменения: print("Привет, OTUS!") . В таком коде внутри скобок пользователь может написать и другие фразы.

Screenshot_2-1801-618333.png

Зелёная стрелка — это команда, красная — результат. По коду видно, что программа отработала без затруднений.

Но возможности «Пайтона» выходят далеко за пределы стандартного «хэллоуворлда». Его без проблем можно использовать и в качестве калькулятора, выполняя вычисления.

Screenshot_3-1801-68bd46.png

А при подключении соответствующих библиотек, эти вычисления могут быть весьма сложны и мало уступят специализированным пакетам Matlab.

Далее следует выйти из интерактивного режима, набрав простую команду exit() .

Запуск Python: интерактивный режим в IDLE

При установке языка программирования Python в комплекте с ним идёт IDLE. Это интегрированная среда разработки, подобная по своей сути интерпретатору, который запущен интерактивно. Отличие — расширенный набор возможностей. Среди таких возможностей: — отладка; — просмотр объектов; — подсветка синтаксиса и прочие.

Чтобы запустить IDLE в Windows, следует перейти в меню «Пуск», где можно без проблем найти нужный инструмент:

Screenshot_4-1801-03b90d.png

После запуска пользователь увидит следующую среду:

Screenshot_8-1801-298187.png

В ней можно тоже полноценно работать с кодом.

Если же разговор идёт про Linux, то в этой операционной системе IDLE-оболочка по дефолту отсутствует, поэтому придётся её инсталлировать. Для Python 3.4 это будет выглядеть так:

Screenshot_6-1801-d228be.png

Итогом станет загрузка IDLE на персональный компьютер пользователя. Запустить оболочку тоже несложно:

Screenshot_7-1801-1de008.png

Выглядеть среда будет следующим образом:

python_lesson2_5_2-1801-a9d38b.png

Как запустить приложение Python в пакетном режиме?

Бывает, у пользователя уже есть Python-файлы с расширением .py. Их тоже можно запустить через командную строку. Для этого вызывается интерпретатор Python, а в качестве аргумента передаётся соответствующий файл.

Давайте продемонстрируем это на практике. Откройте блокнот и поместите туда уже знакомые строки кода:

 
print("Привет, OTUS!")

Сохраните файл под именем example.py. Пусть он будет сохранен на диске C (можно выбрать и другую директорию на усмотрение пользователя).

Теперь откройте командную строку, перейдите в соответствующую директорию и можете запускать файл:

Screenshot_9-1801-396653.png

Красная стрелка — переход в нужную директорию, синяя — команда для запуска «Питона» в пакетном режиме, зелёная — итоговый результат. Всё просто.

Делаем выводы:

  1. Чтобы запустить «Пайтон» в интерактивном режиме, надо набрать в командной строке (cmd) имя интерпретатора — python (иногда это python3) либо запустить интегрированную среду разработки IDLE.
  2. Чтобы выполнить запуск в пакетном режиме, надо ввести в командной строке имя интерпретатора, плюс имя файла. В нашем случае это python.example.py .

Для закрепления материала настоятельно рекомендуется повторить всё вышеописанное самостоятельно.

Введение в Python

Чтобы начать играть с Python, нам нужно открыть командную строку на твоём компьютере. Ты уже должна знать, как это сделать — мы изучали это в главе Введение в интерфейс командной строки.

Когда будешь готова, следуй приведенным ниже инструкциям.

Мы хотим открыть консоль Python, так что набери python , если работаешь в Windows, или python3 для Mac OS/Linux, и нажми enter .

$ python3 Python > (. ) Type "help", "copyright", "credits" or "license" for more information. >>> 

Твоя первая команда Python!

После запуска Python командная строка изменилась на >>> . Для нас это означает, что сейчас мы можем использовать только команды на языке Python. Тебе не нужно вводить >>> — Python будет делать это за нас.

Если ты хочешь выйти из консоли Python, в любой момент — просто введи exit() или используй сочетание клавиш Ctrl + Z для Windows и Ctrl + D для Mac/Linux. Тогда ты больше не будешь видеть >>> .

Пока что мы не хотим выходить из консоли Python. Мы хотим узнать больше о ней. Давай начнём с чего-нибудь совсем простого. Например, попробуй набрать простое математическое выражение, вроде 2 + 3 , и нажми enter .

>>> 2 + 3 5 

Прекрасно! Видишь, как выскочил ответ? Python знает математику! Ты можешь попробовать другие команды, например:

Чтобы вычислить степень числа, например, 2 в кубе, мы вводим:

>>> 2 ** 3 8 

Поиграй с этим немного и затем вернись сюда :).

Как видишь, Python является прекрасным калькулятором. Если тебе интересно, что ещё можно сделать.

Строки

Как насчет твоего имени? Введи своё имя в кавычках, вот так:

>>> "Ola" 'Ola' 

Ты только что создала свою первую строку! Это последовательность символов, которые могут быть обработаны компьютером. Строка должна всегда начинаться и заканчиваться одинаковым символом. Им может быть одинарная ( ' ) или двойная ( " ) кавычка (разницы нет!) Кавычки говорят Python'у, что внутри них находится строка.

Строки могут быть слиты воедино. Попробуй так:

>>> "Hi there " + "Ola" 'Hi there Ola' 

Ты также можешь умножать строки на число:

>>> "Ola" * 3 'OlaOlaOla' 

Если тебе нужно поставить апостроф внутри строки, то есть два способа сделать это.

Используй двойные кавычки:

>>> "Runnin' down the hill" "Runnin' down the hill" 

или поставь перед апострофом обратную косую черту ( \ ):

>>> 'Runnin\' down the hill' "Runnin' down the hill" 

Прикольно, да? Чтобы увидеть своё имя прописными буквами, просто набери:

>>> "Ola".upper() 'OLA' 

Ты только что использовала метод upper своей строки! Метод (такой как upper() ) представляет собой набор инструкций, который должен выполнить Python над заданным объектом (в нашем случае: "Ola" ) при его вызове.

Если ты хочешь узнать количество букв в своём имени, то и для этого тоже существует функция!

>>> len("Ola") 3 

Интересно, почему иногда мы вызываем функцию добавлением . к концу строки (как "Ola".upper() ), а иногда сначала пишем имя функции и затем помещаем строку в скобки? Ну, в некоторых случаях функции принадлежат объектам, например, функция upper() , которая может быть применена только к строкам. В этом случае мы называем функцию методом. В другом случае функции не относятся к чему-то конкретному и могут использоваться для различных типов объектов, например, функция len() . Вот почему мы передаем "Ola" в качестве параметра функции len .

Подведём итог

Хорошо, достаточно о строках. Пока ты узнала следующее:

  • командная строка — ввод команд (кода) в интерактивную командную строку Python приводит к ответам на Python;
  • числа и строки — в Python числа используются для вычислений, а строки - для текстовых объектов;
  • операторы, такие как + и *, объединяют значения для получения нового;
  • функции, такие как upper() и len(), выполняют действия над объектами.

Таковы основы каждого языка программирования, который ты можешь выучить. Готова к чему-то посложнее? Мы уверены, что готова!

Ошибки

Давай попробуем кое-что новенькое. Можем ли мы получить длину числа так же, как длину твоего имени? Введи len(304023) и нажми Enter :

>>> len(304023) Traceback (most recent call last): File "", line 1, in TypeError: object of type 'int' has no len() 

Мы получили нашу первую ошибку! Иконкой мы будем обозначать код, который при запуске сработает не так, как ожидается. Совершение ошибок (даже преднамеренных) -- важная часть обучения!

Она говорит о том, что у объектов типа «int» (целые числа) нет длины. Так что же мы можем сейчас сделать? Может быть, мы можем написать наше число в виде строки? У строк ведь есть длина, верно?

>>> len(str(304023)) 6 

Сработало! Мы использовали функцию str внутри функции len . str() преобразует всё в строки.

  • Функция str преобразует объекты в строки
  • Функция int преобразует объекты в целые числа

Важно: мы можем преобразовать число в текст, но не всегда удается преобразовать текст в числа — например, каков будет результат int('hello') ?

Переменные

Переменные — важное понятие в программировании. Переменная — это всего лишь имя для чего-то, чтобы использовать его позднее. Программисты используют переменные для хранения данных, чтобы их код был более читабельным, и для того, чтобы им не пришлось запоминать, что есть что.

Допустим, мы хотим создать новую переменную с именем name :

>>> name = "Ola" 

Видишь? Это очень легко! Просто введи: name равно Ola.

Как ты уже заметила, твоя программа не возвращает ничего, как было ранее. Так откуда мы знаем, что переменная действительно существует? Просто введи name и нажми Enter :

>>> name 'Ola' 

Ура! Твоя первая переменная:)! Ты всегда можешь изменить то, к чему она относится:

>>> name = "Sonja" >>> name 'Sonja' 

Ты также можешь использовать переменные и в функциях:

>>> len(name) 5 

Круто, правда? Переменными, конечно, может быть что угодно, и цифры тоже! Попробуй следующее:

>>> a = 4 >>> b = 6 >>> a * b 24 

Но что делать, если мы использовали неправильное имя? Можешь догадаться, что произойдет? Давай попробуем!

>>> city = "Tokyo" >>> ctiy Traceback (most recent call last): File "", line 1, in NameError: name 'ctiy' is not defined 

Ошибка! Как ты можешь видеть, в Python есть различные типы ошибок, эта называется NameError. Python выдаст эту ошибку при попытке использовать переменную, которая пока не определена. При возникновении этой ошибки проверь свой код, чтобы узнать, не написала ли ты неправильно имя переменной.

Попрактикуйся в этом какое-то время и посмотри, что ты сможешь сделать!

Функция print

>>> name = 'Maria' >>> name 'Maria' >>> print(name) Maria 

Если просто ввести name , интерпретатор Python вернет строковое представление переменной 'name', которым, в нашем случае, являются буквы M-a-r-i-a, окруженные одинарными кавычками, ''. Когда ты вводишь print(name) , Python "печатает" содержание переменной на экран, без кавычек, что удобнее.

Как мы увидим позднее, print() пригодится, когда нам будет нужно печатать что-то изнутри функций или когда мы захотим напечатать что-то на нескольких строчках.

Списки

Помимо строк и целых чисел Python имеет богатую коллекцию других типов объектов. Сейчас мы собираемся представить тебе один из них — list (список). Списки — это именно то, о чём ты подумала: объекты, которые являются списками других объектов 🙂

Давай начнем с создания списка:

Отлично, это пустой список. Не особенно полезен, да? Давай создадим список лотерейных номеров. Мы не хотим повторять их каждый раз, так что присвоим список переменной:

>>> lottery = [3, 42, 12, 19, 30, 59] 

Замечательно, у нас есть список! Что мы можем с ним сделать? Для начала посмотрим, как много лотерейных номеров в нашем списке. Есть идеи, какую функцию можно использовать для этого? Ты её уже знаешь!

>>> len(lottery) 6 

Точно! len() вернет тебе количество объектов в списке. Удобно, правда? Пожалуй, мы теперь отсортируем его:

>>> lottery.sort() 

Эта команда не возвращает ничего, она просто меняет порядок номеров в списке. Давайте выведем его на экран и посмотрим, что получилось:

>>> print(lottery) [3, 12, 19, 30, 42, 59] 

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

Может, нам нужно обратить порядок? Давай сделаем это!

>>> lottery.reverse() >>> print(lottery) [59, 42, 30, 19, 12, 3] 

Просто, правда? Если хочешь добавить что-то к своему списку, то можешь воспользоваться этой командой:

>>> lottery.append(199) >>> print(lottery) [59, 42, 30, 19, 12, 3, 199] 

Если ты хочешь получить только первый номер в списке, то можешь воспользоваться индексами. Индекс — это номер позиции в списке, на котором находится нужное нам значение. Программисты предпочитают начать считать с 0, так что первому объекту в списке соответствует индекс 0, следующему —1, и так далее. Попробуй ввести:

>>> print(lottery[0]) 59 >>> print(lottery[1]) 42 

Как видишь, ты можешь обратиться к различным объектам в своем списке, используя имя списка и индекс объекта в квадратных скобках.

Чтобы удалить что-либо из списка, тебе понадобятся индексы, с которыми мы уже разобрались выше, и команда pop() . Давай попробуем закрепить пройденное на примере: мы будем удалять первый элемент из нашего списка.

>>> print(lottery) [59, 42, 30, 19, 12, 3, 199] >>> print(lottery[0]) 59 >>> lottery.pop(0) 59 >>> print(lottery) [42, 30, 19, 12, 3, 199] 

Сработало как по маслу!

В качестве дополнительной тренировки попробуй следующие индексы: 6, 7, 1000, -1, -6 и -1000. Можешь предсказать результат? Видишь логику работы?

Ты можешь найти перечень всех методов, относящихся к списку, в этой главе официальной документации Python: https://docs.python.org/3/tutorial/datastructures.html

Словари

Для проходящих руководство дома: этот раздел рассмотрен в видео Python Basics: Dictionaries.

Словари схожи со списками, но ты обращаешься к значениям словаря по ключу, а не по индексу. Ключом может быть любая строка или число. Давай создадим пустой словарь:

Это показывает, что мы создали пустой словарь. Ура!

Теперь попробуй следующую команду (можешь заменить значения на своё имя, страну и т.д.):

>>> participant = 'name': 'Ola', 'country': 'Poland', 'favorite_numbers': [7, 42, 92]> 

Этой командой ты создала переменную participant с тремя парами ключ/значение:

  • ключ name , указывающий на значение 'Ola' (объект типа строка ),
  • ключ country , указывающий на значение 'Poland' (еще одна строка ),
  • и ключ favorite_numbers , указывающий на значение [7, 42, 92] (объект типа список с тремя числами внутри).

Значение конкретного ключа можно узнать следующим образом:

>>> print(participant['name']) Ola 

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

Что случится, если мы спросим у Python значение несуществующего в словаре ключа? Можешь предположить? Давай попробуем и узнаем наверняка!

>>> participant['age'] Traceback (most recent call last): File "", line 1, in KeyError: 'age' 

Смотри, другая ошибка! Эта называется KeyError. Python услужливо напоминает, что ключа 'age' нет в словаре.

Когда стоит использовать словарь, а когда список? Это хороший вопрос для самостоятельного размышления. Сделай предположение перед тем, как читать дальше.

  • Тебе нужна упорядоченная последовательность элементов? Список — наш выбор.
  • Тебе нужны сочетания ключ/значение, чтобы быстро искать значения (по ключу) в дальнейшем? Словарь отлично подойдет.

Словари, как и списки, изменяемы, т. е. они могут быть изменены после того, как были созданы. Ты можешь добавить новые пары ключ/значение в словарь следующим образом:

>>> participant['favorite_language'] = 'Python' 

Так же как в примере со списками, использование функции len() вернёт число пар ключ/значение в словаре. Попробуй сама:

>>> len(participant) 4 

Надеюсь, всё вышеизложенное понятно. 🙂 Готова к новым приключениям со словарями? На следующей строке тебя ждут изумительные вещи.

Ты можешь использовать команду pop() для удаления элементов из словаря. Скажем, ты хочешь удалить элемент с ключом 'favorite_numbers' . Просто набери следующую команду:

>>> participant.pop('favorite_numbers') [7, 42, 92] >>> participant 'country': 'Poland', 'favorite_language': 'Python', 'name': 'Ola'> 

Как видишь, пара ключ/значение с ключом 'favorite_numbers' была удалена.

Помимо этого, ты можешь заменить значение, связанное с уже существующим ключом. Набери:

>>> participant['country'] = 'Germany' >>> participant 'country': 'Germany', 'favorite_language': 'Python', 'name': 'Ola'> 

Значение, на которое ссылается ключ 'country' , изменилось с 'Poland' на 'Germany' . 🙂 Захватывает? Ещё бы! Ты выучила еще одну потрясающую штуку!

Подведём итог

Шикарно! Теперь ты знаешь немало о программировании. Мы познакомились с:

  • ошибками — теперь ты знаешь как читать и анализировать ошибки, которые возникают, если Python не понимает твоей команды;
  • переменными — именами для объектов, которые упрощают твой код и делают его более читабельным;
  • списками — последовательностями объектов в заданном порядке;
  • словарями — объектами, хранящими пары ключ/значение.

Готова к продолжению? 🙂

Сравнения

Для проходящих руководство дома: этот раздел рассмотрен в видео Python Basics: Comparisons.

В программировании часто надо что-то сравнивать. Что проще всего сравнить друг с другом? Числа, конечно. Давай посмотрим, как это работает:

>>> 5 > 2 True >>> 3 < 1 False >>> 5 > 2 * 2 True >>> 1 == 1 True >>> 5 != 2 True 

Мы передали Python несколько чисел для сравнения. Как ты можешь заметить, Python сравнивает не только числа, но и результаты методов (например, умножения). Неплохо, правда?

Хочешь спросить, почему мы написали двойной символ равенства == , чтобы проверить, одинаковы ли числа? Потому что одинарные символ равенства = уже задействован под присваивание значения переменным. Ты всегда, всегда должна писать два символа равенства == , если хочешь проверить, одинаковы ли объекты. Мы также можем проверить, различаются ли объекты. Для этого мы используем != , как показано в примере выше.

Дадим Python еще два задания:

>>> 6 >= 12 / 2 True >>> 3 2 False 

Супер! Хочешь еще? Тогда попробуй вот это:

>>> 6 > 2 and 2 < 3 True >>> 3 > 2 and 2 < 1 False >>> 3 > 2 or 2 < 1 True 

Ты можешь передать Python столько чисел, сколько захочешь, и он будет возвращать ответ! Хитро, правда?

  • and — если ты используешь оператор and , оба сравнения по обе стороны от него должны быть True (верны), чтобы результат всей команды был равен True.
  • or — если ты используешь оператор or , достаточно одному из сравнений по обе стороны от него быть равным True, чтобы результат всей команды также равнялся True.

Ты когда-нибудь слышала выражение "сравнивать тёплое с мягким"? Попробуем сделать что-то подобное в Python:

>>> 1 > 'django' Traceback (most recent call last): File "", line 1, in TypeError: '>' not supported between instances of 'int' and 'str' 

Как мы видим, Python не знает, как сравнить число ( int ) и строку ( str ) между собой. Поэтому он просто возвращает нам ошибку TypeError и предупреждает, что объекты заданных типов не могут быть сравнены.

Логические значения

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

Существует только два логических объекта в Python:

  • True (Истина),
  • False (Ложь).

Чтобы Python понимал тебя, ты всегда должна писать True с заглавной буквы (остальные прописные). true, TRUE, tRUE не будут восприниматься — только True. (Та же логика применима к False, само собой.)

Ты можешь присваивать переменным логические значения! Смотри сюда:

>>> a = True >>> a True 
>>> a = 2 > 5 >>> a False 

Попрактикуйся с логическими значениями на примере этих выражений:

  • True and True
  • False and True
  • True or 1 == 1
  • 1 != 2

Поздравляем! Логические значения — одна из самых классных фишек программирования, и ты только что научилась ими пользоваться!

Сохраняй!

До сих пор мы писали весь код в интерактивной консоли, где Python сразу анализировал, обрабатывал и выполнял наши команды. Мы были ограничены одной строкой. Обычно, программы сохраняются в файлах и выполняются интерпретатором или компилятором нашего языка программирования. Пока мы только просили интерпретатор Python выполнять наши однострочные команды из консоли. Однако нам понадобится больше места для следующих задач, поэтому задача минимум:

  • закрыть интерактивную консоль Python;
  • открыть наш текстовый редактор;
  • сохранить код в новом файле;
  • запустить его!

Чтобы закрыть интерактивную консоль Python, просто набери функцию exit() :

>>> exit() $ 

Это вернёт тебя в командную строку.

В главе Текстовый редактор мы выбрали себе редактор. Нам нужно открыть его сейчас и записать следующий код в новый файл (или, если ты используешь Chromebook, создай новый файл в облачной IDE и открой файл, который будет во встроенном редакторе кода):

print('Hello, Django girls!') 

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

Теперь нам нужно сохранить файл с кодом и дать ему подходящее имя. Давай назовем его python_intro.py и сохраним на рабочий стол. Мы можем назвать файл как хотим, но важно, чтобы название заканчивалось на .py. Расширение .py говорит операционной системе, что это исполняемый файл python, и Python может его запустить.

Примечание Ты должна уже была заметить одну из крутейших вещей в редакторах кода: цвета! В интерактивной консоли Python весь текст был одного цвета, сейчас же функция print должна отличаться по цвету от текста, который передается в неё в качестве аргумента. Это называется «синтаксическая подсветка», и это действительно удобная штука для программирования. Цвет подсветки может подсказать тебе о незакрытой кавычке или опечатке в ключевом слове (таком как def в определении функции, с которым мы скоро познакомимся). Это одна из причин, по которой мы используем редакторы кода 🙂

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

Для Mac команда будет выглядеть так:

$ cd ~/Desktop 

Работа с командной строкой при помощи Python

Передо мной стояла задача импортировать на сервер около 100 файлов. Использовать стандартный мастер экспорта/импорта крайне неудобно. Поэтому мы хотели импортировать на сервер через CMD, при этом видеть статус обработки по каждому из 100 файлов csv – получать отчет об успешной загрузке или неуспешной.

Для достижения этой цели выбраны следующие инструменты:

  1. Язык программирования Python. С его помощью мы автоматизируем работу с командной строкой Windows CMD – будем запускать поочередно загрузку файла на сервер СУБД и вести лог отчетов об успешном выполнении или нет.
  2. 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 на сервере.

Результатом программы является автоматизация загрузки множества файлов на сервер СУБД.

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

Если у тебя ещё нет 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 — это инструмент для “общения” с компьютером. Открывшееся окно должно содержать сообщение-подсказку, что-то вроде этого:

mycomputer:~ myusername$

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

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

myusername@mycomputer:~$

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

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

C:\Users\myusername>

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

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

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

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

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

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

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

Python 3.3.2 (default, May 21 2013, 15:40:45) [GCC 4.8.0 20130502 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

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

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

print("Hello world") 

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

>>> print("Hello world") Hello world >>> (1 + 4) * 2 10 

Очень полезна команда 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 hello.py

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

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

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

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

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

> cd Desktop\Python_Exercises

В Linux или OS X:

$ cd Desktop/Python_Exercises

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

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

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

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

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