Урок 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 заданий
- Сертификат
- Поддержка преподавателя
- Доступ к курсу навсегда
- Можно в рассрочку
Шаг 2. Написание и запуск кода
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Хотя управление файлами проекта осуществляется в обозревателе решений, с содержимым файлов, например файлов исходного кода, вы обычно работаете в окне редактора. Редактор распознает тип редактируемого файла с учетом контекста. Он также определяет язык программирования (благодаря расширению файла) и обеспечивает характерные для этого языка возможности, например раскраску синтаксических конструкций и автоматическое завершение с помощью IntelliSense.
- При создании проекта «Python Application» в редакторе Visual Studio откроется пустой файл по умолчанию с именем PythonApplication1.py.
- В редакторе начните вводить print(«Hello, Visual Studio») . По мере ввода функция IntelliSense в Visual Studio покажет варианты автозавершения. Выделенный параметр в раскрывающемся списке — это вариант завершения по умолчанию, который применяется при нажатии клавиши TAB. Завершения очень удобны при использовании длинных инструкций или идентификаторов.

- Функция IntelliSense отображает различные сведения на основе используемого оператора, вызываемой функции и т. д. Если в функции print ввести ( после print для указания вызова функции, будет показана полная информация об использовании этой функции. Во всплывающем окне IntelliSense также полужирным шрифтом выделяется текущий аргумент (в этом случае это value):

- Допишите оператор, чтобы он соответствовал следующему коду:
print("Hello, Visual Studio")

Обратите внимание на раскраску синтаксических конструкций, которая позволяет отличить оператор print от аргумента «Hello Visual Studio» . Можно ненадолго удалить последний символ » в строке. Обратите внимание, что код, содержащий синтаксические ошибки, подчеркивается красной линией в Visual Studio. Снова введите символ » , чтобы исправить ошибку.
Совет Visual Studio предоставляет полный контроль над внешним видом и поведением среды разработки, что позволяет настроить ее, как вам нравится. Выберите пункт меню Сервис>Параметры и изучите параметры на вкладках Среда и Текстовый редактор. По умолчанию вы видите ограниченный набор параметров. Чтобы просмотреть все параметры для каждого языка программирования, щелкните Показать все параметры внизу диалогового окна.




import sys from math import cos, radians
Совет Принцип функции завершения заключается в следующем — по мере ввода появляются подстроки со словами, в которых совпадают части или буквы в начале слова, и даже отображаются пропущенные символы. Дополнительные сведения см. в руководстве по редактированию кода.
for i in range(360): print(cos(radians(i)))
Как запустить файл со скриптом из другого файла со скриптом, запускающим первый файл?
Всем привет. Кто-нибудь знает способы запуска скрипта на python, который, к примеру, находится в файле file_1.py путем запуска другого файла file_2.py с кодом для запуска file_1.py. Для пояснения скажу, что в file_1.py находиться бесконечный цикл, который записывает данные в файл, поэтому простым импортом тут не обойтись, так как код в file_2.py должен интерпретироваться дальше после запуска file_1.py.
- Вопрос задан более трёх лет назад
- 1936 просмотров
Комментировать
Решения вопроса 1

python developer
subprocess же:
import subprocess cmd = 'python script.py' p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) out, err = p.communicate() result = out.split('\n') for lin in result: if not lin.startswith('#'): print(lin)
Ответ написан более трёх лет назад
Нравится 2 1 комментарий

Данил Самодуров @samodurOFF Автор вопроса
Про subprocess много слышал, но работать не приходилось. Спасибо, попробую.
Ответы на вопрос 1
Привет! Как я понял тебе нужно инжектировать\импортировать код после выполнения первого скрипта. Import можно вызывать и в конце скрипт, и даже используя условия. Вот пример:
import_rand = False if import_rand: import random print(int(random.randrange(10))) elif not import_rand: print(int(random.randrange(10)))
Если True, то модуль random импортируется и выведется число, если False, то будет ошибка (Модуль random не найден).
Ответ написан более трёх лет назад
Нравится 1 3 комментария

Данил Самодуров @samodurOFF Автор вопроса
Если честно, то я не понял как ваше решение подходит в моем случае. Поясню еще. Код в file_2.py использует данные из файла, который был создан через file_1.py. Этот файл, пусть он будет назваться data.csv, постоянно пополняется новыми данными, которые постоянно обрабатываются в file_2.py циклом. Поэтому, как мне кажется, код в file_2.py должен выглядеть примерно так:
import pandas as pd # ТРИГЕР для запуска кода в file_1.py, чтобы получить файл data.csv while True: df = pd.read_csv('data.csv') print(df.tail())
Так вот, мне и нужно понять, как реализовать этот ТРИГЕР
Данил Самодуров, Снова здравствуйте. Создайте в file_1 функцию, например gen_file потом импортируйте ее в file_2 при помощи from file_1 import gen_file. После этого вы можете вызывать когда вам нужно функцию внутри другого фала, также передавать ему атрибуты через эту функцию и получать ответ через return (если нужно). Если вы не знаете как работать с функциями, то вот простой пример —
def gen_file(const_one, const_two): print("<> <>".format(str(const_one), str(const_two)))
В другом файле нам нужно вызвать эту функцию, для этого мы пишем такой код —
from file_1 import gen_file a = "Это константа 1" b = "А это константа 2" gen_file(a, b)
Будет выведено в консоль —
Это константа 1 А это константа 2

Данил Самодуров @samodurOFF Автор вопроса
koval01, я знаю как работать с функциями. file_1.py уже и так содержит функцию и я ее импортировал в file_2.py. Это первое что пришло мне в голову. Но, как вы поняли, это не сработало. Проблема в том, что функция в file_1.py сдержит бесконечный цикл и ничего не возвращается через return. При ее вызове через импорт в file_2.py код ниже места вызова исполняться не будет, так как интерпретатор будет ожидать завершение работы скрипта в file_1.py а этого не происходит.
Как сделать вызов функции из другого файла в python?
Чтобы сделать вызов функции из другого файла в python, ее необходимо сначала импортировать. Вы можете импортировать как весь файл(модуль), так и отдельно функции из него. Для импорта, каталог, в котором лежит файл, должен быть пакетом(package), то есть содержать в себе файл init.py .
Импорт модуля. В таком случае функции из модуля вызываются через точку:
from my_package import my_module # где my_package - пакет # my_module - искомый файл def main(): x = my_module.function() .
Импорт конкретной функции из модуля:
from my_package.my_module import function def main(): x = function() .