subprocess.call() creates a new process. The cd works in that process, but when the process exits it won’t affect the current process. This is how processes are designed to work. If you need your script to change to a different directory you can use os.chdir which will change the directory for the current process.
import os os.getcwd() os.system(‘pwd’) os.environ[«HOME»] os.chdir(os.path.expanduser(‘~’) + ‘/.cache/thumbnails’) os.getcwd() os.system(‘subl’)
import subprocess (out,err) = subprocess.Popen([‘echo’,’Hello World!’],stdout=subprocess.PIPE).communicate() print out
#date ‘+%Y-%m-%d %H:%M:%S’ import subprocess command = [‘date’] command.append(‘+%Y-%m-%d %H:%M:%S’) (out,err) = subprocess.Popen(command,stdout=subprocess.PIPE).communicate() print out
Writing Standard Input
import subprocess command = [‘python’] process = subprocess.Popen(command,stdout=subprocess.PIPE,stdin=subprocess.PIPE) (out,err) = process.communicate(«»»x = 5 y = 6 print str(x+y)»»») print out
Reading Standard Output
Як запустити #python скрипт на #windows
import subprocess (out,err) = subprocess.Popen([‘ls’,’-alsh’],stdout=subprocess.PIPE).communicate() print out
Reading Standard Error
# grep -i ‘what’ this_file_is_no_here import subprocess command = [‘grep’] command.append(‘-i’) command.append(‘what’) command.append(‘this_file_is_no_here’) (out,err) = subprocess.Popen(command,stderr=subprocess.PIPE).communicate() print err # NOTE, i’m printing the error, not the output
# echo ‘Hello World’ | grep -i -o ‘hello’ -e ‘s/$/!/’ | tr ‘[:lower:]’ ‘[:upper:]’ import subprocess # print ‘Hello World’ to stdout command1 = [‘echo’] command1.append(‘Hello World’) process1 = subprocess.Popen(command1,stdout=subprocess.PIPE) # Find ‘hello’ in the input and print that match to stdout command2 = [‘grep’] command2.append(‘-o’) command2.append(‘-i’) command2.append(‘hello’) process2 = subprocess.Popen(command2,stdin=process1.stdout,stdout=subprocess.PIPE) # Make any lowercase letter in the input uppercase in the output command3 = [‘tr’] command3.append(‘[:lower:]’) command3.append(‘[:upper:]’) process3 = subprocess.Popen(command3,stdin=process2.stdout,stdout=subprocess.PIPE) # Get the stdout and stderr text (out,err) = process3.communicate() print out
Setting the working directory
# cd /tmp/example/a/b/c # cat da_file_1 da_file_2 import subprocess working_directory = ‘/tmp/example/a/b/c’ command = [‘cat’] command.append(‘da_file_1’) command.append(‘da_file_2’) process = subprocess.Popen(command,stdout=subprocess.PIPE,cwd=working_directory) (out,err) = process.communicate() print out
Источник: xn--80afqpaigicolm.xn--p1ai
Как запустить программу в Python?
Установка Python на Windows 10
Справочное руководство для тех, кто не знает как запустить программу написанную на языке программирования Python.
Введение
Язык программирования python — интерпретируемый, что подразумевает о наличии программы, которая будет исполнять ваш код.
Напомню что существуют еще и компилируемые языки, это те языки в которых программа собирается в один исполняемый файл и может запускаться на любом компьютере.
Убедитесь что python у вас установлен, а если не знаете как это сделать прочитайте в статье Как проверить установлен ли python.
Так же на всякий случай убедитесь в актуальности вашей версии. Я писал о том как это сделать в статье Как обновить python в Windows для пользователей Microsoft Windows.
Python может запускать вашу программу в двух режимах. Интерактивный и пакетный, рассмотрим оба варианта.
Запуск в интерактивном режиме
В первую очередь необходимо открыть терминал. Если вы пользуетесь microsoft windows запускайте командную строку.
В ней вводим команду python3 (для windows просто python)
Автоматически попадаем в интерактивную оболочку. Здесь мы можем писать любой код и он будет выполнен.
Возьмем к примеру небольшой код, который я быстренько написал на коленке.
author = «Egorov Egor» zen = «https://zen.yandex.ru/python» github = «https://github.com/r4hx» print(«<>: Привет! Надеюсь мои статьи принесут тебе пользу».format(author)) print(«<>: Подпишись на мой блог о Python <>».format(author, zen)) print(«<>: А еще я есть в гитхабе <> :D».format(author, github))
(как я ненавижу дзен за отсутствие блока форматирования кода)
Вставляем этот код в интерактивную оболочку и смотрим что у нас получилось.
А получилось следующее. Код выполнился последовательно, строка за строкой.
Для выхода из интерактивного режима, наберите команду
exit()
и нажмите ENTER.
Надеюсь вопросов по первому способу запуска программы в python через интерактивную оболочку у вас не возникнет, вроде бы все понятно
Запуск в пакетном режиме
Пока писал этот заголовок в статье, задумался, откуда появилось такое название, пакетный режим, все просто. Готовые программы в linux часто называют пакетами. Даже существует пакетный менеджер в каждом дистрибутиве линукса
Теперь исходный код нашей программы нужно сохранить в файлик. Например давайте назовем его test.py
После того как мы добавили исходный код программы в наш файл необходимо его запустить. Сделать это проще простого достаточно ввести команду python3 test.py
Заключение
Наша программа успешна выполнена. Я постарался максимально подробно ответить на вопрос «Как запустить программу в python» и если у вас остались вопрос — пишите в комментариях, постараюсь ответить
Источник: egorovegor.ru
Как запустить скрипт Python (пошаговое руководство)
В этом руководстве рассказывается о том, как создать и как запустить скрипт на Python.
Программирование или скриптинг?
Обработку данных на основе Python можно разбить на маленькие этапы. Например:
- Импорт numpy и pandas.
- Загрузка необработанных данных из .csv файла в DataFrame.
- Загрузка необработанных данных из словаря Python в другой DataFrame.
- Объединение двух фреймов данных.
- Сортировка значений.
- Заполнение пустых значений.
- И так далее…
Можно выполнить эти задачи вручную. Или поместить эти команды в скрипт Python . Это и есть скриптинг.
Скрипт Python похож на сценарий фильма. В нем вы точно записываете, должен делать компьютер.
Как создать скрипт Python
Вы можете использовать любой код, написанный ранее в Jupyter. Например, вот мой Jupyter Notebook .
Как превратить код Python для Jupyter Notebook в скрипт Python?
Для этого нужно скопировать все строки из Jupyter Notebook и поместить их в текстовый редактор. После чего сохранить в файл с расширением .py.
Создадим скрипт Python
Шаг №1 — откройте текстовый редактор.
Если вы находитесь на удаленном сервере, откройте свой любимый текстовый редактор. Для этого введите команду:
mcedit
Вы можете использовать любой текстовый редактор (vim, nano и т. д.).
Но если вы хотите что-то более продвинутое, я настоятельно рекомендую Sublime Text 3.
Шаг №2 — скопируйте и вставьте код!
Скопируйте и вставьте весь код из Jupyter Notebook в текстовый редактор:
Шаг №3 — Сохраните файл как файл .py!
Нажмите кнопку 10-Quit в правом нижнем углу (или Esc+0 на клавиатуре).
После чего mcedit спросит, хотите ли вы сохранить файл? Нажмите: Yes! Затем задайте имя новому текстовому файлу. Скрипты Python имеют собственное расширение: .py.
Нажмите ОК . Теперь текстовый файл теперь стал скриптом Python.
Шаг № 4 — Снова откройте текстовый файл
Вернемся к редактированию файла, набрав команду:
mcedit demoscript.py
Теперь код выглядит более похожим на Python с различной подсветкой:
Это потому, что вы добавили расширение .py . В результате этого редактор mcedit распознал текстовый файл как скрипт Python.
Шаг № 5 — Добавьте Shebang!
Shebang — это строка кода, которую нужно поместить в самом начале скрипта. Его задача – сообщить ОС, что у вас есть исполняемый файл Python3.
Строка shebang для скриптов Python3 выглядит следующим образом:
#! / usr / bin / env python3
Если честно, ваш скрипт будет работать и без него. Несмотря на это, я предпочитаю добавлять Shebang по нескольким причинам:
- В среде разработки, в которой доступно сразу несколько версий Python, Shebang прояснит, какой интерпретатор должен выполнить скрипт.
- Когда один из ваших коллег откроет скрипт, он сразу увидит, на каком языке он написан.
Дополнительно: шаг № 6 — сделать скрипты на Python исполняемыми
После добавления Shebang, снова сохраните файл и попробуйте запустить скрипт, введя команду:
python3 demoscript.py
В некоторых случаях (в зависимости от конфигурации используемого сервера) вы получите ошибку прав доступа:
demoscript.py: Permission denied
В Python подобная ошибка прав доступа не возникает. Если вы не столкнулись с этой проблемой, просто перейдите к шагу № 7.
Если у вас возникла ошибка прав доступа, в командной строке введите этот код:
sudo chmod 777 demoscript.py
Затем введите свой пароль.
Шаг №7 — запустите скрипт на Python!
Запустите скрипт, введя команду:
python3 demoscript.py
Это означает, что ваш скрипт на Python запущен. Но вы не видите никакого результата на экране.
Шаг № 8 — почему я ничего не вижу?
В большинстве случаев, когда вы конвертируете проект Jupyter Notebook в скрипт Python, вы не увидите на экране ничего. Это потому, что последняя строка вашего кода была такой:
Вернитесь к своему скрипту и измените последнюю строку на эту:
print(zoo)
Нажмите 10-Quit и Save.
Перезапустите скрипт, введя для этого команду:
python3 demoscript.py
Шаг № 9 — Вы создали скрипт на Python
Вы создали скрипт на Python, и он работает. Но вы все равно захотите использовать Jupyter Notebook. Так как он является идеальным инструментом для тестирования и настройки процессов. Поэтому:
- Я создаю прототип проекта на Python в Jupyter Notebook. Затем создаю код и выясняю, какие шаги необходимы.
- Затем удаляю ненужные фрагменты кода и импортированные пакеты, сортирую задачи Python в порядке их выполнения.
- Добавляю комментарии к коду.
- Перемещаю все в текстовый редактор (Sublime Text или mcedit) и создаю скрипт Python, который можно автоматизировать.
Заключение
Написание и запуск скриптов Python это не магия. Если вы знаете, как писать код на Python, то сможете освоить и скрипты
Источник: www.internet-technologies.ru