Перейти к содержимому

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

  • автор:

Работа с командной строкой при помощи 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 на сервере.

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

Урок 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 уроков
  • 306 заданий
  • Сертификат
  • Поддержка преподавателя
  • Доступ к курсу навсегда
  • Можно в рассрочку

Как запустить код на 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, который определяет функцию привет() , возвращающую строку «Привет!».

def привет(): return 'Привет!'

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

  1. Сначала нужно сохранить этот код в файл. Допустим, мы сохранили его в файл с именем my_script.py .
  2. Затем открываем командную строку и переходим в директорию, где находится файл my_script.py .
  3. Теперь для запуска функции используем команду python -c . Эта команда позволяет запускать код Python из командной строки. Код указывается в кавычках после -c . Например, чтобы запустить функцию привет() , необходимо ввести следующую команду:
python -c 'import my_script; print(my_script.привет())'

В этой команде import my_script импортирует наш скрипт, а print(my_script.привет()) вызывает функцию привет() и выводит результат ее работы.

Таким образом, при помощи команды python -c можно запускать функции Python прямо из командной строки. Это удобный и гибкий способ работы с Python, который может быть полезен во многих случаях.

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

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