Урок 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 уроков
- 310 заданий
- Сертификат
- Поддержка преподавателя
- Доступ к курсу навсегда
- Можно в рассрочку
Python — Запуск cmd.exe с аргументом, и последующим сохранением ответа в .txt файл
Здравствуйте! Помогите. Нужна помощь: Цель программы — поиск mac адреса через cmd.exe при помощи команды arp -a, и последующим копированием результата (полностью) в файл. Я предполагаю что запуск cmd.exe и последующий ввод команды arp -a возможно реализовать через библиотеку os и аргумент (я предполагаю что arp -a это аргумент при запуске cmd.exe). Проблема в моем незнании того, как я могу запустить cmd с аргументом (arp -a), и получить вывод в файл.
Отслеживать
52.3k 11 11 золотых знаков 108 108 серебряных знаков 312 312 бронзовых знаков
задан 8 апр 2017 в 12:55
Antony Voron Antony Voron
55 1 1 золотой знак 1 1 серебряный знак 8 8 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Если команда не является внутренней (вроде ASSOC ), то нет нужды как правило запускать cmd.exe , чтобы получить вывод внешней программы в Питоне.
Вместо этого напрямую запускайте программу. К примеру, чтобы перенаправить стандартный вывод arp -a команды в txt файл:
#!/usr/bin/env python3 import subprocess with open('результат.txt', 'wb', 0) as file: subprocess.run('arp -a', stdout=file, check=True)
На Windows, команда и её аргументы передаются как строка (родной интерфейс). Переносимый код должен использовать список: каждый аргумент как отдельный элемент следовало бы передать: [‘arp’, ‘-a’] . Если возникли проблемы с кодировкой, то см. Python Взаимодействие с cmd.exe.
Обратите внимание, что cmd.exe не используется для запуска arp.exe .
Если вы хотите запустить команду, которая требует cmd.exe , к примеру dir , то достаточно shell=True передать:
#!/usr/bin/env python3 import subprocess subprocess.run('dir /A', check=True, shell=True)
Первые шаги¶
Давайте посмотрим, как создать традиционную программу “Hello World” на Python. Это научит вас писать, сохранять и выполнять программы на Python.
Существует два способа запуска программ на Python: использование интерактивного приглашения интерпретатора и использование файла с текстом программы. Сейчас мы увидим, как пользоваться обоими методами.
Использование командной строки интерпретатора¶
Откройте окно терминала (как было описано в главе Установка ) и запустите интерпретатор Python, введя команду python3 и нажав Enter .
Пользователи Windows могут запустить интерпретатор в командной строке, если установили переменную PATH надлежащим образом. Чтобы открыть командную строку в Windows, зайдите в меню “Пуск” и нажмите “Выполнить. ”. В появившемся диалоговом окне введите “cmd” и нажмите Enter ; теперь у вас будет всё необходимое для начала работы с python в командной строке DOS.
Если вы используете IDLE, нажмите “Пуск” –> “Программы” –> “Python 3.0” –> “IDLE (Python GUI)”.
Как только вы запустили python3 , вы должны увидеть >>> в начале строки, где вы можете что-то набирать. Это и называется командной строкой интерпретатора Python.
Теперь введите print(‘Hello World’) и нажмите клавишу Enter . В результате должны появиться слова “Hello World”.
Вот пример того, что вы можете увидеть на экране, если будете использовать компьютер с Mac OS X. Информация о версии Python может отличаться в зависимости от компьютера, но часть, начинающаяся с приглашения (т.е. от >>> и далее) должна быть одинаковой на всех операционных системах.
$ python3 Python 3.3.0 (default, Oct 22 2012, 12:20:36) [GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print('hello world') hello world >>>
Обратите внимание, что Python выдаёт результат работы строки немедленно! Вы только что ввели одиночный “оператор” Python. print используется для того, чтобы (что неудивительно[1] ) напечатать любое переданное в него значение. В данном случае мы передали в него текст “Hello World”, который и был напечатан на экране.
Как выйти из командной строки интерпретатора
Если вы используете IDLE или оболочку GNU/Linux или BSD, вы можете выйти из командной строки интерпретатора нажатием Ctrl-D или введя команду exit() (примечание: не забудьте написать скобки, “()”), а затем нажав клавишу Enter . Если вы используете командную строку Windows, нажмите Ctrl-Z , а затем нажмите клавишу Enter .
Выбор редактора¶
Поскольку мы не можем набирать программу в командной строке интерпретатора каждый раз, когда нам нужно что-то запустить, нам понадобится сохранять программы в файлах, чтобы потом иметь возможность запускать их сколько угодно раз.
Прежде чем приступить к написанию программ на Python в файлах, нам нужен редактор для работы с файлами программ. Выбор редактора крайне важен. Подходить к выбору редактора следует так же, как и к выбору личного автомобиля. Хороший редактор поможет вам легко писать программы на Python, делая ваше путешествие более комфортным, а также позволяя быстрее и безопаснее достичь вашей цели.
Одно из самых основных требований – это подсветка синтаксиса, когда разные элементы программы на Python раскрашены так, чтобы вы могли легко видеть вашу программу и ход её выполнения.
Если вы не знаете, с чего начать, я бы порекомендовал воспользоваться программой Komodo Edit, которая доступна для Windows, Mac OS X и GNU/Linux.
Если вы пользуетесь Windows, Не используйте Блокнот – это плохой выбор, поскольку он не обладает функцией подсветки синтаксиса, а также не позволяет автоматически вставлять отступы, что очень важно в нашем случае, как мы увидим позже. Хорошие редакторы, как Komodo Edit, позволяют делать это автоматически.
Опытные программисты, должно быть, уже используют Vim или Emacs. Не стоит даже и говорить, что это два наиболее мощных редактора, и вы только выиграете от их использования для написания программ на Python. Лично я пользуюсь ими обоими для большинства своих программ, и даже написал книгу о Vim. Я настоятельно рекомендую вам решиться и потратить время на изучение Vim или Emacs, поскольку это будет приносить вам пользу долгие годы. Однако, как я уже писал выше, новички могут пока просто остановиться на Komodo Edit и сосредоточиться на изучении Python, а не текстового редактора.
Я повторюсь ещё раз: обязательно выберите подходящий редактор – это сделает написание программ на Python более простым и занимательным.
Для пользователей Vim
Для пользователей Emacs
Использование программных файлов¶
А теперь давайте вернёмся к программированию. Существует такая традиция, что какой бы язык программирования вы ни начинали учить, первой вашей программой должна быть программа “Привет, Мир!”. Это программа, которая просто выводит надпись “Привет, Мир!”. Как сказал Simon Cozens[2], это “традиционное заклинание богов программирования, которое поможет вам лучше изучить язык”.
Запустите выбранный вами редактор, введите следующую программу и сохраните её под именем helloworld.py .
Если вы пользуетесь Komodo Edit, нажмите “Файл” –> “Новый” –> “Новый файл”, введите строку:
print('Привет, Мир!')
В Komodo Edit нажмите “Файл” –> “Сохранить” для сохранения файла.
Куда сохранить файл? В любую папку, расположение которой вы знаете. Если вы не понимаете, что это значит, то создайте новую папку и используйте её для всех ваших программ на Python:
- C:\py в Windows
- /tmp/py в GNU/Linux
- /tmp/py в Mac OS X
Чтобы создать папку, воспользуйтесь командой mkdir в терминале. Например, mkdir /tmp/py .
Не забывайте указывать расширение файла .py . Например, “ file.py ”.
В Komodo Edit нажмите “Инструменты” –> “Запуск команды”, наберите python3 helloworld.py и нажмите “Выполнить”. Вы должны увидеть вывод, показанный на скриншоте ниже.

Но всё-таки лучше редактировать программу в Komodo Edit, а запускать в терминале:
- Откройте терминал, как описано в главе Установка .
- Перейдите в каталог, в котором вы сохранили файл. Например, cd /tmp/py .
- Запустите программу, введя команду python3 helloworld.py .
Вывод программы показан ниже.
$ python3 helloworld.py Привет, Мир!
Если у вас получился такой же вывод, поздравляю! – вы успешно выполнили вашу первую программу на Python. Вы только что совершили самый сложный шаг в обучении программированию, заключающийся в написании своей первой программы!
Если вы получите сообщение об ошибке, введите вышеуказанную программу в точности так, как показано здесь, и запустите снова. Обратите внимание, что Python различает регистр букв, то есть print – это не то же самое, что Print (обратите внимание на букву p в нижнем регистре в первом случае и на букву P в верхнем регистре во втором). Также убедитесь, что перед первым символом в строке нет пробелов или символов табуляции – позже мы увидим, почему это важно.
Как это работает
Программа на Python состоит из выражений. В нашей первой программе имеется всего лишь одно выражение. В этом выражении мы вызываем функцию print , которая просто выводит текст ‘Привет, Мир!’ . О функциях мы узнаем в одной из последующих глав , а пока вам достаточно понять, что всё, что вы укажете в скобках, будет выведено на экран. В данном примере мы указали ‘Привет, Мир!’ .
Исполнимые программы на Python¶
Это касается только пользователей GNU/Linux и Unix, но пользователям Windows тоже будет полезно об этом знать.
Каждый раз, когда нам нужно запустить программу на Python, нам приходится в явном виде запускать python3 foo.py . Но почему бы нам не запускать её точно так же, как и все другие программы? Этого можно достичь при помощи так называемого hashbang.
Добавьте строку, указанную ниже, в самое начало вашей программы:
#!/usr/bin/env python3
Теперь ваша программа должна выглядеть так:
#!/usr/bin/env python3 print('Привет, Мир!')
Теперь необходимо установить программе атрибут исполнимости, используя команду chmod , а затем выполнить программу.
Команда chmod здесь используется для изменения режима файла[3] добавлением атрибута исполнимости для всех пользователей в системе[4].
$ chmod a+x helloworld.py
После этого мы можем запускать программу напрямую, потому что наша операционная система запустит /usr/bin/env , который, в свою очередь, найдёт Python 3, а значит, сможет запустить наш файл.
$ ./helloworld.py Привет, Мир!
Здесь “ ./ ” обозначает, что программа находится в текущем каталоге.
Ради интереса можете даже переименовать файл в просто “ helloworld ” и запустить его как ./helloworld , и это также сработает, поскольку система знает, что запускать программу нужно интерпретатором, положение которого указано в первой строке файла программы.
Но до сих пор мы могли выполнять свою программу только если знали полный путь к ней. А что, если нам нужно запускать эту программу из любого каталога? Это можно организовать, расположив свою программу в одном из каталогов, перечисленных в переменной окружения PATH .
При попытке запуска какой-либо программы система ищет её в каталогах, перечисленных в переменной окружения PATH , и запускает. Таким образом, мы можем сделать программу доступной из любого места, скопировав её в один из каталогов, перечисленных в PATH .
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin $ cp helloworld.py /home/swaroop/bin/helloworld $ helloworld Привет, Мир!
Мы можем вывести на экран значение переменной PATH при помощи команды echo , добавив перед именем переменной символ $ , чтобы указать оболочке, что мы хотим получить значение этой переменной. Мы видим, что /home/swaroop/bin – один из каталогов в переменной PATH, где swaroop – это имя пользователя, которое я использую в своей системе. В вашей системе, скорее всего, будет аналогичный каталог для вашего пользователя.
Вы также можете добавить какой-либо каталог к переменной PATH – это можно сделать, выполнив PATH=$PATH:/home/swaroop/mydir , где ‘/home/swaroop/mydir’ – это каталог, который я хочу добавить к переменной PATH .
Этот метод полезен для написания сценариев, которые будут доступны для запуска в любой момент из любого места. По сути, это равносильно созданию собственных команд, как cd или любой другой, которые часто используются в терминале GNU/Linux или приглашении DOS.
Когда речь идёт о Python, слова “программа” или “сценарий (скрипт)” обозначают одно и то же.
Получение помощи¶
Для быстрого получения информации о любой функции или операторе Python служит встроенная функция help . Это особенно удобно при использовании командной строки интерпретатора. К примеру, выполните help(print) – это покажет справку по функции print , которая используется для вывода на экран.
Для выхода из справки нажмите q .
Аналогичным образом можно получить информацию почти о чём угодно в Python. При помощи функции help() можно даже получить описание самой функции help !
Если вас интересует информация об операторах, как например, return , их необходимо указывать в кавычках (например, help(‘return’) ), чтобы Python понял, чего мы хотим.
Резюме¶
Теперь вы умеете с лёгкостью писать, сохранять и запускать программы на Python.
И поскольку сейчас вы уже используете Python, давайте узнаем больше о его основных принципах.
Примечания¶
| [1] | “print” – англ. “Печатать” (прим. перев.) |
| [2] | Автор восхитительной книги “Beginning Perl” |
| [3] | change mode – англ. “изменить режим” (прим. перев.) |
| [4] | В указанной команде буква “a” взята из слова “all” (англ. “все”), а буква “x” – из слова “execute” (англ. “исполнять”) – прим. перев. |
Запуск файла Python из командной строки Windows

В этой статье мы рассмотрим, как запустить файл Python с помощью командной строки в Windows. Это поможет вам выполнять ваш код Python, не открывая его в интерпретаторе или редакторе кода. Давайте приступим!
Для запуска файла Python в командной строке, у вас должен быть установлен Python. Если вы до сих пор этого не сделали, то вы можете воспользоваться нашем руководством: Установка Python на Windows.
Как открыть командную строку Windows
Для начала нам необходимо открыть командную строку Windows. Это можно сделать зажав одновременно клавиши WIN + R, в открывшемся окне введите «cmd» и нажмите клавишу Enter.

О других способах открытия командной строки, мы писали ранее в нашей статье.
Как перейти в директорию с файлом Python
Для запуска файла Python нам необходимо перейти в командной строке в директорию, где находится данный файл.
Для этого вы можете использовать команду cd (change directory). Например, если ваш файл Python находится в директории «C:\my_python_files», вы можете ввести команду «cd C:\my_python_files». После этого вы будете находиться в этой директории и готовы к запуску файла Python.»
Если ваш файл Python находится на другом диске, то вам необходимо сначала сменить диск в командной строке. Для этого вы можете ввести название диска, например, «D:», и нажать Enter. Затем вы можете использовать команду «cd», как в примере выше.
Более подробно о команде «cd» вы можете узнать из нашей статьи.
Запуск файла Python
После того, как в командной строке вы перешли в директорию, где находится ваш файл, вы можете использовать команду ‘python .py’, чтобы запустить файл. Например, если ваш файл называется ‘hello_world.py’, вы можете ввести ‘python hello_world.py’, чтобы запустить этот файл. После чего файл будет исполнен.