Python запуск команд windows

Содержание

Подготовка к автоматизации

Основы работы с командной строкой через Python

Автоматизация простых команд

Более сложная автоматизация

Использование планировщика задач для автоматизации на регулярной основе

Советы по улучшению производительности и безопасности

Заключение

Вопрос-Ответ


Комментарии

Дата публикации
10.01.2025

Обновлено
22.01.2025

Источник фото freepik/freepik

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

В этой статье мы научим вас использовать Python для автоматизации повседневных задач через командную строку.

Эксперты рекомендуют

Подготовка к автоматизации

Установка Python

Перед тем как начать автоматизацию, убедитесь, что у вас установлен Python. Для этого: скачайте последнюю версию Python с официального сайта. Установите Python, следуя инструкциям на экране. Во время установки убедитесь, что поставили галочку напротив «Add Python to PATH», чтобы иметь возможность использовать Python из командной строки.

Основные библиотеки для работы с CMD

Для взаимодействия с командной строкой Python предоставляет несколько мощных библиотек:

  • subprocess. Это основная библиотека для выполнения команд в командной строке. Она позволяет запускать внешние программы и получать их вывод.
  • os. Эта библиотека используется для взаимодействия с операционной системой, например, для работы с файлами и директориями.
  • shutil. Библиотека для работы с файлами и каталогами (перемещение, копирование, удаление).
  • pathlib. Библиотека для работы с путями к файлам и каталогам. Она позволяет удобно работать с путями и создавать платформонезависимые скрипты.
  • subprocess.run. Современный способ взаимодействия с командной строкой, позволяющий запускать команды и получать их вывод, ошибки и коды завершения. Это более мощная альтернатива старому методу subprocess.call

В этой статье мы подробно рассмотрим использование библиотеки subprocess.

Основы работы с командной строкой через Python

Для выполнения команд в командной строке мы используем библиотеку subprocess. Рассмотрим простой пример выполнения команды через Python.

import subprocess
# Выполняем команду и выводим результат
result = subprocess.run([‘echo’, ‘Hello, World!’], capture_output=True, text=True)
print(result.stdout)

Этот код выполнит команду echo в CMD, которая выведет «Hello, World!». Обратите внимание на параметры capture_output=True и text=True, которые позволяют захватить и вывести результат выполнения команды.

Как получить результат и обрабатывать ошибки?

Библиотека subprocess позволяет нам получать не только стандартный вывод, но и ошибку, если она возникла. 

Например:
import subprocess
result = subprocess.run([‘ls’, ‘non_existent_directory’], capture_output=True, text=True)
if result.returncode != 0:
print(f»Ошибка: {result.stderr}»)
else:
print(result.stdout)

Здесь мы пытаемся выполнить команду ls для несуществующего каталога. Если команда не выполняется, Python выводит ошибку.

Автоматизация простых команд

Для автоматизации задач вы можете создавать скрипты, которые будут запускать повторяющиеся команды. Например, создание бекапов или запуск проверок состояния системы.

Пример скрипта для проверки доступности сайта с использованием команды ping:
import subprocess
def check_website_status(url):
result = subprocess.run([‘ping’, url], capture_output=True, text=True)
if ‘Request timed out’ in result.stdout:
print(f»Сайт {url} не доступен.»)
else:
print(f»Сайт {url} доступен.»)
check_website_status(‘google.com’)

Этот скрипт автоматически проверяет доступность сайта через команду ping.

Более сложная автоматизация

Теперь давайте рассмотрим более сложные задачи. Например, можно автоматизировать обработку файлов, создание директорий или выполнение нескольких команд подряд.

Пример автоматизации с перемещением файлов:
import shutil
import os
# Создание директории, если её нет
if not os.path.exists(‘backup’):
os.makedirs(‘backup’)
# Перемещение файла в директорию
shutil.move(‘important_file.txt’, ‘backup/important_file.txt’)

Этот код создает директорию backup, если её нет, и перемещает файл в эту папку.

Использование планировщика задач для автоматизации на регулярной основе

Один из эффективных способов автоматизации – это использование планировщика задач. Для Windows это Task Scheduler, а для Linux или macOS – cron.

Windows (Task Scheduler)

Настройка автоматического запуска скрипта через Task Scheduler:

  1. Откройте Task Scheduler.
  2. Выберите «Create Basic Task» и следуйте инструкциям.
  3. В поле «Action» выберите «Start a Program» и укажите путь к вашему Python-скрипту.
  4. Выберите триггер: выберите, когда скрипт должен запускаться (ежедневно, еженедельно, по событию и т. д.). Нажмите «Далее».
  5. Выберите действие: в поле «Действие» выберите «Запустить программу». Это позволяет запускать программу, в данном случае – ваш Python-скрипт.
  6. Укажите путь к Python-скрипту: в поле «Программа/скрипт» укажите путь к интерпретатору Python (например, C:\Python39\python.exe). В поле «Добавить аргументы (необязательно)» укажите путь к вашему Python-скрипту (например, C:\scripts\myscript.py).
  7. Завершение настройки: нажмите «Далее» и «Готово». Теперь ваш скрипт будет автоматически запускаться по установленному расписанию.

Linux/macOS (cron)

Для настройки автоматического запуска на Linux или macOS откройте терминал и введите команду.

crontab-e
Добавьте строку, которая будет запускать скрипт в заданное время. Например, чтобы запускать скрипт каждый день в 12:00:
0 12 * * * /usr/bin/python3 /path/to/your_script.py

Советы по улучшению производительности и безопасности

Обработка ошибок

Каждая команда в командной строке может завершиться ошибкой, поэтому важно предусмотреть обработку ошибок.

try:
result = subprocess.run([‘some_command’], check=True)
except subprocess.CalledProcessError as e:
print(f»Ошибка: {e}»)

Логирование

Логирование помогает отслеживать результаты выполнения автоматических задач. Например, можно записывать вывод в файл.

with open(‘log.txt’, ‘a’) as log_file:
log_file.write(result.stdout)

Переменные среды

Не храните чувствительную информацию, такую как пароли, в скриптах. Вместо этого используйте переменные среды.

import os
api_key = os.getenv(‘API_KEY’)

Заключение

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

Используйте Python для автоматизации своих процессов, и вы сможете сэкономить время и усилия при выполнении рутинных операций.


Инструмент/Библиотека

Описание

Пример использования
subprocess Основная библиотека для выполнения внешних команд в командной строке. subprocess.run([‘echo’, ‘Hello, World!’])
os Библиотека для работы с операционной системой, включая управление файлами и директориями. os.system(‘dir’)
shutil Библиотека для работы с файлами и каталогами (копирование, перемещение, удаление). shutil.move(‘file.txt’, ‘new_folder/file.txt’)
Task Scheduler Инструмент Windows для автоматического выполнения задач в заданное время или при наступлении определённых событий. Настройка для запуска Python-скрипта по расписанию (например, ежедневно).
.bat (батники) Текстовые файлы, содержащие команды для CMD, используемые для автоматизации задач. Создание .bat файла для запуска Python-скрипта с помощью команд python myscript.py.

  1. Execute CMD Commands From a Python Script and Get Output Using os.system()

  2. Execute CMD Commands From a Python Script and Get Output Using the Subprocess Module

How to Execute Shell Command and Get Output in Python

In this article, we will learn how to execute cmd commands from a Python script with the help of os.system(). We will also learn how we can execute cmd commands from the script in an easier way with the help of the subprocess module in Python.

Execute CMD Commands From a Python Script and Get Output Using os.system()

We execute terminal commands in command prompt or any other terminal for different purposes. But, sometimes, running a particular command inside the script is necessary.

We will see how we can execute them directly inside the Python script. It is handy when we work with server configuration.

First, let us show you some commands that work in the terminal, such as dir, cd, or md.

Terminal Commands in Command Prompt

Now, we will see how we can include the same ones in the Python script. To do that, we will import a module called os.

The os module will help us to interact with our operating system. The os module has extensive support for operating system tasks such as files and folder management.

Let’s jump into the code. The system() is a method that executes the command in the like shell, so if we give it any command, it will go ahead and execute them the way we would execute them in the terminal.

The system function can also execute a bunch of commands. It executes every command that you can run in the terminal.

We will use the try block, and inside this block, we will use the system() method, which will help us to interact with the operating system using the terminal. If the try block does not execute the specified command, we will go onto the except block.

Inside the system() method, we have to pass our commands, but the command type is cmd. For that, we use /k, and inside a single or double quotation, we have to type our command.

import os

try:
    os.system('cmd /k "date"')
except:
    print("Could not execute command")

Let’s run and see whether this gives us the exact output.

The current date is: 24/08/2022
Enter the new date: (dd-mm-yy)

We can see the output is the same as the command prompt gives.

There are lots of commands you can execute. You can open Notepad or Calculator, or you can see your system information and much more.

Open Applications and Show System Info From Python Script

If you want to get the content of what the command returns, you can get it using the popen() function of the os module. Inside this function, we can pass the command and use the readlines() method to get its content.

We can use many methods to get clean data. It depends on you.

import os

DATA = os.popen("help").readlines()[5].strip("\n")
print(DATA)

Get the Content the Command Returns

We can use these commands anywhere, like class, loops, and function. This will properly work as it does without wrapping it in a function.

import os


def CMD_Com():
    DATA = os.popen("help").readlines()[5].strip("\n")
    print(DATA)


CMD_Com()

Output:

CACLS          Displays or modifies access control lists (ACLs) of files.

Execute CMD Commands From a Python Script and Get Output Using the Subprocess Module

Interacting with subprocesses is an essential skill to have. Using the os module is not recommended to execute a terminal command inside the Python script.

Using os.system() to execute the terminal command is a very simplified way of running a command in Python.

The os.system() has limited functionality; the proper way is to use a module called subprocess, which makes it not too challenging to execute terminal commands. Using the subprocess module, we can run all the operating system commands on which we are currently working.

This is how we can run all existing commands in an operating system, like opening Notepad or checking the current working directory, or any other operation we can execute using the subprocess module.

import subprocess

# subprocess.Popen('notepad')
# subprocess.Popen('systeminfo')
subprocess.Popen("dir", shell=True)

Output:

 Directory of C:\Users\Dell\Downloads\demo

24/08/2022  07:01 pm    <DIR>          .
24/08/2022  07:01 pm    <DIR>          ..
25/08/2022  01:47 am               460 demo.py
               1 File(s)            460 bytes
               2 Dir(s)  32,532,512,768 bytes free

You can learn more about the subprocess module from here.

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe

To execute CMD commands using Python, you can use the `subprocess` module, which allows you to run shell commands directly from your Python script. Here’s a simple example:

import subprocess

subprocess.run(['cmd', '/c', 'echo Hello, World!'])

This code will execute the CMD command `echo Hello, World!`, displaying the message in the console.

Understanding CMD

What is CMD?

CMD, or Command Prompt, is a command-line interpreter available in Windows operating systems. It allows users to execute commands, navigate file structures, and perform various administrative tasks. Historically, CMD served as an efficient interface for users to interact with their systems without the GUI’s limitations.

Why Use CMD?

Using CMD offers several advantages over graphical user interfaces:

  • Speed: CMD operations can be executed faster than navigating through folders and menus.
  • Automation: CMD allows for the automation of repetitive tasks, minimizing human error.
  • Access to Advanced Features: Some system features are only accessible through CMD, making it a powerful tool for advanced users.

Python Get Cmd Args Simplified for Quick Mastery

Python Get Cmd Args Simplified for Quick Mastery

Introduction to Python

What is Python?

Python is a high-level programming language known for its readability and versatility. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python has gained immense popularity due to its simplicity, making it an accessible option for beginners and experienced developers alike.

Why Use Python for CMD?

Integrating Python with CMD enhances productivity and provides a robust environment for scripting tasks. Here are a few reasons to use Python for executing CMD commands:

  • Cross-Platform Compatibility: Python scripts can run on various operating systems, allowing seamless transitions between Windows, Mac, and Linux.
  • Powerful Libraries: Python’s standard library, especially the `subprocess` module, empowers users to run CMD commands and handle outputs effectively.
  • Dynamic Programming: With Python, you can create scripts that adapt to user input, making CMD executions more flexible.

Master Python Run Cmd Like a Pro

Master Python Run Cmd Like a Pro

Setting Up Your Environment

Installing Python

To get started with executing CMD commands using Python, you’ll first need to install Python. Here’s how to do it:

  1. Visit the [official Python website](https://www.python.org/downloads/).
  2. Download the appropriate installer for your operating system (Windows, Mac, or Linux).
  3. Follow the installation instructions (make sure to check the box that adds Python to your PATH).
  4. Verify the installation by running `python —version` in CMD.

Setting Up CMD

CMD is pre-installed on Windows systems. To access CMD:

  1. Press `Windows + R`, type `cmd`, and hit Enter.
  2. Alternatively, search for «Command Prompt» in the Start menu.

Ensure that CMD is fully functional by executing a simple command like `dir`, which lists the contents of the current directory.

Mastering Python in Cmd: A Quick Guide to Efficiency

Mastering Python in Cmd: A Quick Guide to Efficiency

Executing CMD Commands in Python

Using subprocess Module

To execute CMD commands within Python, the `subprocess` module is your go-to tool. This module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes.

Example: Simple command execution

import subprocess

# Execute a command
result = subprocess.run(['dir'], shell=True)
print(result)

In this example, the `run()` function executes the `dir` command and returns a `CompletedProcess` object, which contains information about the execution.

Capturing Output

You often need to capture the output of the CMD command for further processing or display. The `check_output()` function is ideal for this task.

Code Example:

output = subprocess.check_output(['ipconfig'], text=True)
print(output)

In this snippet, the `check_output()` function captures the output of the `ipconfig` command as a string, which you can then manipulate or display.

Error Handling

When executing CMD commands, it’s crucial to handle potential errors gracefully. Common errors include «command not found» or «access denied.»

Example of error handling:

try:
    output = subprocess.run(['wrongcommand'], shell=True, check=True, text=True)
except subprocess.CalledProcessError as e:
    print(f"Error: {e}")

In this example, the code attempts to run a nonexistent command. If an error occurs, the exception is caught, and a user-friendly message is displayed.

Mastering Python Cmd Input for Effective Command Line Use

Mastering Python Cmd Input for Effective Command Line Use

Advanced Techniques

Running CMD Commands with Parameters

Passing parameters to CMD commands can enhance their utility. For example, to ping a site with specific parameters, you can do the following:

Example:

import subprocess

# Execute ping command with parameters
command = ['ping', '-c', '4', 'google.com']
result = subprocess.run(command, shell=True)

In this case, the command specifies pinging `google.com` four times.

Using Shell Commands

By setting `shell=True`, you can execute shell commands directly as if you were typing them in CMD. This is especially useful for complex commands.

Example of using shell commands:

subprocess.run('echo Hello from CMD', shell=True)

This command will print «Hello from CMD» in the terminal.

Combining Commands

You can execute multiple CMD commands in one line using `&&` to chain commands. This enables executing dependent commands efficiently.

Example:

subprocess.run('mkdir test && cd test && echo Hello > file.txt', shell=True)

In this example, a new directory is created, and a file with the word «Hello» is created inside it—all in one go.

How to Elevate Cmd for Maximum Power

How to Elevate Cmd for Maximum Power

Practical Applications of Python Executing CMD

Automating Daily Tasks

Python scripts can automate various CMD tasks such as backup scripts, system monitoring, and log management. For example, you can write a script that backs up specified directories to another location on your drive automatically.

System Monitoring

You can use Python to run diagnostic commands and analyze their outputs.

Example: Disk usage check:

output = subprocess.check_output('wmic logicaldisk get size,freespace,caption', text=True, shell=True)
print(output)

This command retrieves information about disk sizes and free space, providing valuable data for system maintenance.

File Management

CMD commands are also effective for file management tasks. Using Python, you can streamline processes like file deletion, copying, or renaming.

Example: Deleting files:

subprocess.run('del myfile.txt', shell=True)

This command will delete the specified file from the system.

Cmd Execute Multiple Commands: A Simple Guide

Cmd Execute Multiple Commands: A Simple Guide

Conclusion

In this guide, we’ve explored how Python can effectively execute CMD commands, providing a bridge between programming and system management. By mastering these techniques, you can significantly enhance your workflow and automate tedious tasks while using your system efficiently.

Mastering Psexec Remote Cmd for Seamless Command Execution

Mastering Psexec Remote Cmd for Seamless Command Execution

Resources & Further Reading

To deepen your understanding, consider exploring the official Python documentation, additional Python libraries like `os`, and resources related to CMD commands for Windows.

Mastering Docker Exec Cmd: A Simple Guide

Mastering Docker Exec Cmd: A Simple Guide

FAQs

  • Can Python execute CMD commands on other operating systems?
    Yes, Python can execute CMD commands on any OS that it supports, using the appropriate command syntax for that system.

  • Is it safe to execute CMD commands through Python?
    While executing commands through Python is generally safe, it’s important to validate any user input used in commands to avoid potential security risks.

Welcome to Python Run Shell Command On Windows tutorial. In this tutorial, you will learn, how to run shell command in python. So let’s move forward.

What is Shell ?

  • In computer science shell is generally seen as a piece of software that provides an interface for a user to some other software or the operating system.
  • So the shell can be an interface between the operating system and the services of the kernel of this operating system

Python Modules For Running Shell command

Python provides lots of modules for executing different operations related to operating system.

Generally there are two important modules which are used to run shell command in python.

  • Subprocess module
  • OS module

Python Run Shell Command Using Subprocess module

The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several older modules and functions:

  • os.system
  • os.spawn*
  • os.popen*
  • popen2.*
  • commands.*

The subprocess module allows users to communicate from their Python script to a terminal like bash or cmd.exe.

Now we will see different functions of subprocess module.

subprocess.call()

call() method create a separate process and run provided command in this process. 

Write the following code to implement call() method of subprocess module.

import subprocess

subprocess.call(‘dir’, shell=True)

In this example, we will create a process for dir command

It’s output will be as follows.

Python Run Shell Command On Windows

Python Run Shell Command On Windows

subprocess.check_output()

check_output()is used to capture the output for later processing. So let’s see how it works.

import subprocess

output = subprocess.check_output(‘dir’, shell=True)

print(output)

Output

Python Run Shell Command On Windows

Python Run Shell Command On Windows

Python Run Shell Command Using OS module

The OS module is used to interact with underlying operating system in several different ways.

OS is an python built-in module so we don’t need to install any third party module. The os module allows platform independent programming by providing abstract methods.

Executing Shell scripts with os.system()

The  most straight forward approach to run a shell command is by using os.system().

import os

os.system(‘dir’)

Python Run Shell Command On Windows

Python Run Shell Command On Windows

Capturing Output

The problem with this approach is in its inflexibility since you can’t even get the resulting output as a variable. os.system() doesn’t return the result of the called shell commands. So if you want to capture output then you have to use os.popen() method.

The os.popen() command opens a pipe from or to the command line. This means that we can access the stream within Python. This is useful since you can now get the output as a variable. Now let’s see it practically, so write the following code.

import os

output = os.popen(‘dir’).readlines()

print(output)

  •  Here i used readlines() function, which splits each line (including a trailing \n).
  • You can also use read() method which will get the whole output as one string.

Now it’s output will be as follows.

Python Run Shell Command On Windows

So guys, that’s it for Python Run Shell Command On Windows tutorial. I hope it is helpful for you and if you have any query regarding this post then ask your questions in comment section. Thanks Everyone.

Related Articles :

  • How To Add Code To GitHub Using PyCharm
  • Sets In Python Tutorial For Beginners
  • Join Two Lists Python – Learn Joining Two Lists With Examples

Как запустить скрипт на Python.

Содержание

  • Из командной строки
  • Windows (cmd)

  • Linux (bash)

  • MacOS (bash)

  • Из IDE
  • PyCharm

  • VSCode (Visual Studio Code)

  • Sublime Text

  • IDLE

  • В виртуальном окружении
  • Venv

  • Pipenv

  • Poetry

  • С помощью Docker
  • Через онлайн-сервисы
  • По двойному клику на значок файла
  • FAQ
  • Как запустить python-скрипт без установки Python?

  • Как запустить python-скрипт с параметрами?

  • Как запустить python-скрипт на сервере?

  • Как перенаправить вывод?

  • Как запустить несколько скриптов python одновременно?

  • Как запустить python-скрипт в фоновом режиме?

  • Как сделать запуск скрипта по расписанию?

Python-скрипт — это набор команд для интерпретатора Python.

Именно интерпретатор выполняет скрипты — переводит их в байт-код, запускает на виртуальной машине и т.д. Для удобства скрипты сохраняют в файл с расширением .py.

Так выглядит Python-скрипт, сохраненный в файл example.py

Важнейший навык Python-программиста — умение запускать такие скрипты.

Технически запускается не сам скрипт, а Python-интерпретатор — он считывает код из файла и выполняет его

В этой статье мы разберем 6 возможных вариантов запуска python-файлов со скриптами, от самых популярных до менее популярных.

Из командной строки

Самый популярный способ запуска Python-скрипта — из командной строки.

Командная строка (еще её называют консоль или терминал) — это программа, которая позволяет управлять компьютером через текстовые команды.

Например, через консоль можно быстро создать файл с расширением .py:

echo print('hello') > my.py

И запустить его:

python3 my.py

В каждой операционной системе по умолчанию установлены разные консоли, и текстовые команды могут отличаться. Ниже рассмотрим варианты запуска python-скриптов из консоли для Windows, Linux и MacOS.

Windows (cmd)

Cmd (command line interpreter) — интерпретатор командной строки в Windows. Это приложение будет расшифровывать и выполнять ваши текстовые команды (в том числе и команды на запуск python-скриптов).

👉 Чтобы запустить python-скрипт из командной строки в Windows:

1 Предварительно установите Python (инструкция для Windows);

2 Откройте консоль cmd: комбинация клавиш Windows+R, далее введите «cmd» и нажмите «Enter» (или через поиск по фразе «Командная строка»);

Быстро зайти в Windows-консоль можно через комбинацию «Windows»+»R», набрав в окне «Выполнить» слово «cmd».

Откроется окно «Командная строка».

Так выглядит командная строка в Windows.

3 Команда для запуска Python-скрипта выглядит так:

python + <путь_до_файла>\<название_файла>.py

Пример:

python C:\projects\example.py

Команда для запуска Python в cmd: python + <путь_до_файла>\<название_файла>.py

Чтобы запустить программу, нажмите «Enter». Ваша программа запущена 🎉.

💭 Чтобы каждый раз не набирать длинный путь до файла, перейдите в директорию со скриптом (команда cd) и используйте при запуске только название файла:

Файл в консоли удобнее запускать, находясь в том же каталоге, где лежит Python-файл.

Аналоги терминала cmd — Cmder, Hyper, Tabby.

Linux (bash)

В разных дистрибутивах Linux используются разные командные интерпретаторы. Самые популярные — shell (Unix shell) и bash (Bourne again shell). В них мы будем писать команды для запуска python-файлов.

👉 Чтобы запустить python-скрипт из командной строки в Linux:

1 Предварительно установите Python (инструкция для Linux);

2 Откройте терминал: комбинация клавиш Ctrl+Alt+T (или через «Приложения» → «Терминал») [шаг для версии Linux с графическим интерфейсом];

3 Команда для запуска выглядит так:

python3 + <путь_до_файла>/<название_файла>.py

Пример:

python3 /var/projects/example.py

Команда для запуска Python в shell: python3 + <путь_до_файла>/<название_файла>.py

После ввода команды нажмите «Enter». Программа запущена 🎉.

☝️ В большинстве дистрибутивов Linux по умолчанию команда python запустит Python 2.x.x. После того как вы установите Python 3-й версии, он будет доступен через команду python3.

💭 Для удобства запуска можно сразу перейти в каталог со скриптом (команда cd) и использовать при запуске только название файла:

python3 example.py

MacOS (bash)

В OS X по умолчанию используется командный интерпретатор bash. Процесс запуска python-скриптов такой же, как и в Linux.

👉 Чтобы запустить python-скрипт из командной строки в MacOS:

1 Предварительно установите Python (инструкция для MacOS);

2 Откройте терминал: «Программы» («Launchpad») → «Утилиты» → «Терминал» или «Finder» → каталог «Программы/Утилиты» → «Терминал».

3 Команда для запуска:

python3 + <путь_до_файла>/<название_файла>.py

Пример:

python3 /var/projects/example.py

Для запуска команды нажмите «Enter». Python-скрипт запущен 🎉.

☝️ Команда python запустит Python 2.x.x. (в MacOS он установлен по умолчанию). После установки Python 3-й версии используйте команду python3.

💭 Для удобства запуска перейти в каталог со скриптом (команда cd) и используйте для запуска только название файла:

python3 example.py

Из IDE

IDE (Integrated development environment) — интегрированная среда разработки. Простыми словами это программа, которая помогает программистам разрабатывать программный код.

Чтобы запускать Python скрипты в IDE, нужно:

  1. Предварительно установить интерпретатор;
  2. Подключить интерпретатор в IDE.

Ниже рассмотрим, как подключить интерпретатор Python к PyCharm, VSCode, Sublime Text и IDLE.

PyCharm

👉 Для запуска python-скриптов через PyCharm:

1 Предварительно установите Python (инструкция по установке);

2 Установите PyCharm (на официальном сайте есть бесплатная версия Community Edition);

PyCharm Community Edition доступна на официальном сайте JetBrains.

3 Укажите в PyCharm путь до python-интерпретатора:

Способ #1 (для нового проекта): при создании нового проекта File → New Project PyCharm предложит:

  • Использовать виртуальное окружение (например pipenv) и указать интерпретатор;
  • Использовать интерпретатор без виртуального окружения.
Настроить интерпретатор в PyCharm можно при создании нового проекта.

Способ #2 (для существующего проекта): откройте проект в PyCharm и добавьте интерпретатор в настройках File → Settings → Project:<name> → Project Interpreter.

Подключить интерпретатор в проекте PyCharm можно в настройках: file -> settings -> Project:<name> -> Project Interpreter.

💭 Иногда PyСharm не видит интерпретатор, тогда его нужно добавить вручную. Для этого рядом со строкой выбора интерпретатора нажмите на «Add Interpreter» (или «шестеренку»). Откроется окно «Add Python Interpreter», в котором нужно указать путь до вашего интерпретатора Python.

Если PyCharm не видит интерпретатор Python, добавьте его вручную.

💡 Чтобы узнать путь до python-интерпретатора, запустите в консоли python в интерактивном режиме (команда python3 или python) и выполните 2 команды:

>>> import sys
>>> sys.executable

Отобразится полный путь до интерпретатора python — скопируйте его и используйте для настройки PyCharm.

4 Создайте новый файл с расширением .py и запустите его через Run → Run... (или комбинацией клавиш Alt + Shift + F10);

Первый запуск файла осуществляется через меню Run → Run… (или комбинацией Alt + Shift + F10).
Запуск через Run... означает, что будет создана новая конфигурация для PyCharm-запускатора.

Python-файл запущен 🎉. В панели слева снизу отобразится консоль с результатом выполнения программы.

Результат выполнения программы в IDE PyCharm.

💭 Для следующих запусков файла можете использовать кнопку «Play» в правом верхнем меню (или комбинацию клавиш Shift + F10).

После создания новой конфигурации запуска в PyCharm, в правой верхней панели появится быстрый доступ к запуску.

VSCode (Visual Studio Code)

👉 Чтобы запускать python-скрипты через VSCode:

1 Предварительно установите Python (инструкция по установке);

2 Установите VSCode;

3 Установите расширение «Python» для VSCode. Для этого нужно перейти на вкладку «Extensions» (на панели слева) и найти расширение «Python».

«Python» — официальное расширение для VS Code от Microsoft.

4 Укажите в VSCode путь до python-интерпретатора. Для этого откройте командную строку VSCode комбинацией Ctrl + Shift + P (или «Шестеренка слева снизу» → «Палитра команд…»).

Зайдите в палитру команд VS Code.

Далее найдите пункт «Python: Выбор интерпретатора» и в открывшемся окне выберите нужный интерпретатор.

Выберите рекомендуемый интерпретатор или укажите путь к нужному интерпретатору.

5 Создайте новый файл с расширением .py и запустите его, нажав на значок «Play» в правом верхнем углу;

Кнопка «Play» появится в правом верхнем углу после установки расширения «Python» для VSCode.

Так выглядит терминал в VSCode.

💡 Чтобы запускать Python-скрипты через сочетание клавиш, зайдите в меню «Сочетания клавиш» («Шестеренка слева снизу» → «Сочетания клавиш»), найдите «Запустить файл Python в терминале» и установите нужное сочетание.

«Шестеренка слева снизу» → «Сочетания клавиш» → «Запустить файл Python в терминале» → установите нужное сочетание.

Sublime Text

👉 Чтобы запускать python-скрипты через Sublime Text:

1 Предварительно установите Python (инструкция по установке);

2 Установите Sublime Text;

3 В меню «Tools» → «Build System» выберите «Python» в качестве системы сборки.

«Tools» → «Build System» → «Python».

4 Создайте новый файл с расширением .py и запустите его через меню «Tools» → «Build» (или комбинацией клавиш Crtl + B);

Так выглядит терминал в Sublime Text. Чтобы его закрыть, нажмите «Esc».

Если в терминале не отображается вывод скрипта, запустите его через «Tools» → «Build With…» → Python.

💡 В Sublime Text можно создать свою систему сборки через меню «Tools» → «Build System» → «New Build System…».

Пример своей конфигурации Build System в Sublime Text. Файл конфигурации должен быть в формате json.

После создания конфигурации его необходимо сохранить по предложенному пути. Для корректной работы, конфигурация должна называться <ваше_название>.sublime-build. (например: Python1.sublime-build.), иначе она не отобразится в меню «Build Systems».

Подробнее о системах сборки в Sublime Text читайте в официальной документации в разделе «Build Systems».

IDLE

👉 Для запуска python-скриптов в IDLE:

1 Предварительно установите Python (инструкция по установке);

2 Откройте IDLE, создайте новый файл и сохраните его.

Так выглядит python-скрипт в IDLE.

3 Для запуска скрипта выберите в меню «Run» → «Run Module» (или нажмите «F5»).

Для запуска python-скрипта выберите «Run» → «Run Module» (или «F5»).

В виртуальном окружении

Более продвинутый способ запуска python-скриптов — через инструменты для работы с виртуальными средами (например Venv, Pipenv или Poetry).

Основная цель виртуального окружения — создание изолированной среды. В такой среде ваш скрипт будет использовать свои собственные зависимости, а не глобальные по умолчанию.

Venv

Venv — это модуль для создания облегченных «виртуальных сред». Каждая такая среда будет иметь собственный независимый набор python-пакетов.

Модуль Venv входит в стандартную библиотеку Python, отдельно устанавливать его не нужно.

👉 Чтобы запустить python-скрипт с использованием Venv:

1 Установите Python (инструкция по установке);

2 Откройте консоль (терминал) и перейдите в каталог с python-скриптом;

3 Создайте новое виртуальное окружение. Для этого выполните команду:

python -m venv venv

venv — название виртуального окружения. Если создание прошло успешно, появится новая директория venv.

4 Активируйте виртуальное окружение:

  • venv\Scripts\activate.bat — для Windows;
  • source venv/bin/activate — для Linux и MacOS.

4 Теперь, когда виртуальное окружение активировано, можно использовать стандартную консольную команду для запуска:

python + <путь_до_файла>\<название_файла>.py

Пример:

python example.py

Пример запуска скрипта на Python в виртуальном окружении, созданным через модуль Venv.

Для деактивации выполните команду deactivate.

Pipenv

Pipenv — это инструмент управления виртуальными окружениями и зависимостями.

По сути это аналог npm у NodeJS, или composer у PHP.

👉 Для запуска скрипта на Python через Pipenv:

1 Установите Python (инструкция по установке);

2 Откройте консоль (терминал) и установите глобально Pipenv командой:

pip install pipenv

3 Запускать python-скрипты можно несколькими способами:

Способ #1. Активируйте виртуальное окружение:

pipenv shell

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

python example.py

Пример запуска скрипта на Python в виртуальном окружении через pipenv shell.

Для деактивации виртуальной среды Pipenv выполните команду exit.

Способ #2. Cразу запускайте скрипты внутри virtualenv через pipenv run python:

pipenv run python example.py

В этом способе Pipenv автоматически создаст виртуальную среду.

Пример запуска скрипта на Python в виртуальном окружении через pipenv run python.

💡 Если вы хотите, чтобы Pipenv создавал файлы виртуальной среды в текущем каталоге проекта, установите переменную среды export PIPENV_VENV_IN_PROJECT=1.

Для полного удаления файлов виртуального окружения Pipenv используйте команду:

pipenv --rm

Poetry

Poetry — это продвинутый менеджер зависимостей для Python-проектов.

Poetry используют как альтернативу для Pipenv.

👉 Для запуска скрипта на Python через Poetry:

1 Установите Python (инструкция по установке);

2 Откройте консоль (терминал) и установите глобально Poetry (инструкция по установке Poetry);

3 Создайте новый проект:

poetry new project-poetry

Или инициализируйте Poetry-проект в уже существующем каталоге:

poetry init

4 Запускать python-скрипты можно несколькими способами:

Способ #1. Активируйте виртуальное окружение командой:

poetry shell

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

python example.py

Для деактивации виртуальной среды Poetry выполните команду exit.

Способ #2. Запускайте скрипты через команду poetry run python:

poetry run python example.py

С помощью Docker

Рассмотрим на примере запуск в Docker простого скрипта «Hello World!» на Python:

1 Проверим работу Docker:

docker version

Если Docker не установлен, установите его (инструкция по установке Docker).

2 Создайте директорию проекта:

mkdir /opt/project

и перейдите в неё:

cd /opt/project

3 Создайте python-скрипт с расширением .py:

# /opt/project/example.py

print("Hello, world!")

4 Создайте конфигурационный файл Dockerfile:

# /opt/project/Dockerfile

# Получаем базовый образ Python
FROM python:latest

# Запускаем shell-команду для создания нового каталога /app
RUN mkdir /app

# Копируем исходные файлы в каталог /app
ADD . /app

# Устаналиваем /app в качестве рабочего каталога
# Команды RUN, CMD, ADD и т.д. будут выполненяться в рамках этой директории
WORKDIR /app

# Запуск python-скрипта
CMD ["python3", "example.py"]

5 Соберите docker-образ командой docker build -t <имя образа>:<версия> <директория_исходников_проекта>:

docker build -t python-hello-world .

-t — тег для Docker-образа. Если не указывать версию, по умолчанию она будет latest.

Найти созданный образ можно в списке всех образов:

docker images

6 Запустите контейнер приложения:

docker run python-hello-world

Выше мы рассмотрели простейший пример запуска python-скрипта в Docker-контейнере. Вот ссылки на более сложные варианты:

  • Запустить Python через Pipenv в Docker-контейнере;
  • Веб-приложение на Python (Flask, Redis) с использованием Docker Compose;
  • FastAPI в Docker-контейнере;
  • Django-приложение в Docker-контейнере.

Через онлайн-сервисы

Простой способ запустить скрипт без установки Python — использовать онлайн-сервисы (также их называют онлайн-компиляторы).

⭐ ТОП–5 онлайн-сервисов для запуска python-скриптов:

  1. Online-python;
  2. OnlineGDB;
  3. Trinket;
  4. Replit;
  5. Programiz.

👉 Чтобы запустить python-скрипт через онлайн-сервис:

1 Зайдите на сайт сервиса (например Online-python);

2 Загрузите свой файл. Для этого нажмите на значок «Open File from Disk» в левом верхнем углу.

Загрузите python-файл через кнопку «Open File from Disk». Загруженный файл появится в новой вкладке.

3 Для запуска скрипта нажмите «Run» (или клавишу «F8»).

Нажмите «Run» (или «F8») для запуска скрипта. Результат отобразится в консоли снизу.

По двойному клику на значок файла

Данный способ работает в операционных системах с графическим интерфейсом. Подойдет тем, кто не хочет писать команды в консоли. Чтобы способ сработал, необходимо предварительно установить Python.

После создания файла с расширением .py, операционная система по умолчанию ассоциирует его с приложением Python. Чтобы запустить скрипт, кликните дважды по значку файла — запустится интерпретатор Python и выполнит ваш скрипт.

Пример запуска скрипта через двойной клик по значку файла с расширением .py

Если вместо выполнения кода открывается редактор (для Windows):

  1. Нажмите на значок файла правой кнопкой мыши;
  2. Выберите «Открыть с помощью» → «Python».

Чтобы изменить приложение по умолчанию для файлов с расширением .py (для Windows):

  1. Нажмите на значок файла правой кнопкой мыши;
  2. Выберите «Свойства» → «Приложение (Изменить…)» → «Python».

💡 При запуске скрипта данным способом, окно с результатами выполнения автоматически закроется. Чтобы избежать этого, напишите в конце своего кода input().

FAQ

Как запустить python-скрипт без установки Python?

Самый простой вариант — использовать онлайн-сервисы. Многие сервисы поддерживают загрузку python-файлов.

Еще можно заранее скомпилировать python-скрипт в исполняемый .exe файл. Минус данного способа — для сборки понадобится Python и библиотека PyInstaller. Зато итоговый exe-файл можно запускать без установки интерпретатора Python.

Как запустить python-скрипт с параметрами?

Самый популярный вариант параметризации python-скриптов — использовать аргументы командной строки (Command-Line Arguments) при запуске скрипта через консоль. Аргументы прописываются через пробел после названия файла:

python example.py 2024 hello

В коде аргументы принимаются через sys.argv:

import sys
print(sys.argv)

> ['example.py', '2024', 'hello']

Первым аргументом всегда будет название файла. Все аргументы приходят в виде строк. Для продвинутой работы с аргументами командной строки используйте модуль argparse.

При запуске скриптов через IDE, аргументы передаются через настройку конфигурации:

  • PyCharm — «Run» → «Edit Configurations…» → «Add new configuration» (или «+»). В поле «Parameters» перечисляются нужные параметры в формате "arg1" "arg2";
  • VSCode — Откройте каталог (проект) с python-скриптом. Далее «Запуск и отладка» (Ctrl + Shift + D) → «создайте файл launch.json». Добавьте в конфигурацию параметр «args» в формате "args": ["arg1", "arg2"];
  • Sublime Text — Аргументы указываются в конфигурации сборки, например: "cmd": ["python", "$file", "arg1", "arg2"].
  • IDLE — Откройте файл, далее «Run» → «Run… Customized» (или Shift + F5). Во всплывающем окне введите параметры в формате arg1 arg2.

Чтобы запустить python-скрипт с параметрами через двойной клик по значку файла:

  1. Кликните правой кнопкой мыши по файлу → «создать ярлык»;
  2. Кликните правой кнопкой мыши по созданному ярлыку → «свойства»;
  3. В поле «Объект» добавьте аргументы через пробел, например C:\projects\new\example.py arg1 arg2. Теперь кликнув по ярлыку запустится скрипт с параметрами.

Как запустить python-скрипт на сервере?

Принцип запуска скриптов на сервере прост — скрипты предварительно заливаются на сервер и в локальной консоли создается SSH-соединение с сервером. В рамках созданного SSH-соединения все консольные команды будут выполняться на стороне сервере.

Для запуска скриптов нужно предварительно узнать IP адрес, имя пользователя (username) и пароль (password) вашего сервера.

👉 Чтобы запустить скрипт на сервере (с Windows машины):

1 Установите SSH-клиент (самый популярный для Windows — PuTTY).

2 Перенесите скрипты на сервер с помощью утилиты pscp (идет в комплекте с PuTTY). Для этого откройте командную строку (через поиск → «командная строка» или Win + R + «cmd») и выполните команду в формате pscp <источник> <назначение>. Пример:

pscp c:\projects\new\example.py root@180.110.1.10:/opt/project

В данном примере локальный файл example.py перенесется на сервер в каталог /opt/project. Каталог /opt/project должен быть заранее создан на сервере.

💭 Альтернативные вариант заливки скриптов — через программу WinSCP.

3 Создайте новое SSH-соединение через PuTTY. В окне «PuTTY Configuration» укажите IP-адрес сервера, выберите тип соединения «SSH» и нажмите кнопку «Open».

Пример создания нового SSH-соединение с сервером в PuTTY.

Далее нужно ввести имя пользователя и пароль от удаленного сервера.

4 Запустите скрипт, переданный на сервер:

python3 /opt/project/example.py

👉 Чтобы запустить скрипт на сервере (с Linux/MacOS машины):

1 Откройте терминал.

2 Перенесите скрипты на сервер с помощью утилиты scp.

Если нужно перенести один скрипт, используйте команду в формате scp <источник> <назначение>:

scp /opt/project/example.py root@180.110.1.10:/opt/project

В данном примере локальный файл example.py будет перенесен на сервер в каталог /opt/project. При это каталог /opt/project должен быть заранее создан на сервере.

Для переноса целого проекта используйте команду в формате scp -r <источник> <назначение>:

scp -r /opt/project root@180.110.1.10:/opt

В данном примере на удаленном сервере в каталоге /opt создастся каталог project, в который перенесутся все файлы из локального каталога /opt/project (флаг -r означает рекурсивное копирование содержимого каталога).

3 Создайте ssh-соединение с вашим сервером используя команду ssh <имя_пользователя>@<ip_сервера>:

ssh root@180.110.1.10

После нажатия «Enter» нужно ввести пароль.

4 Запустите скрипт, переданный на сервер:

python3 /opt/project/example.py

Как перенаправить вывод?

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

Перенаправление в файл полезно, когда необходимо сохранить результаты работы программы (особенно когда данных очень много):

python example.py > output.txt

> — символ перенаправления потока вывода. Если файл не существует, оболочка сама создаст его. Если файл существует, он будет перезаписан.

Если вы хотите каждый раз дописывать в файл новые данные (вместо перезаписи), используйте оператор >>:

python example.py >> output.txt

💭 Чтобы «заглушить» вывод используют перенаправление в /dev/null (для Unix-систем):

python example.py > /dev/null

Перенаправить вывод в другую программу может быть полезно при поэтапной обработке, когда один скрипт обрабатывает результаты другого скрипта. Используя оператор | можно перенаправить вывод одного python-скрипта на вход другого:

python example.py | python input.py

В данном примере для приема данных в файле input.py используется sys.stdin:

import sys

for line in sys.stdin:
print(line)

> Hello from example.py

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

Параллельно запустить python-скрипты можно несколькими способами. Для примера создадим 2 файла:

# example1.py

import time

for i in range(0, 3):
print(f"example1.py → {i + 1}")
time.sleep(1)
# example2.py

import time

for i in range(0, 3):
print(f"example2.py → {i + 1}")
time.sleep(2)

Способ #1 — запуск в фоновом режиме через консоль.

Для Unix:

python3 example1.py &
python3 example2.py &
> example2.py 1
> example1.py 1
> example1.py 2
> example2.py 2
> example1.py 3
> example2.py 3

& — в конце строки означает запуск в фоновом режиме.

💡 Если в конце команды добавить wait, скрипт завершится после завершения всех процессов.

Для Windows:

start /b python example1.py & start /b python example2.py> example2.py → 1
> example1.py → 2
> example1.py → 3
> example2.py → 2
> example2.py → 3

start — запускает отдельное окно командной строки.
/b — флаг для запуск без открытия нового окна командной строки.
& — для запуска нескольких команд в одной строке.

💭 После окончания работы скриптов нажмите Enter или Ctrl + C.

Способ #2 — запуск нескольких потоков из отдельного python-файла:

# runner.py

import subprocess

# Создаем и запускаем процессы
proc1 = subprocess.Popen(['python', 'example1.py'])
proc2 = subprocess.Popen(['python', 'example2.py'])

# Ждем завершение процессов
proc1.wait()
proc2.wait()

> example1.py → 1
> example2.py → 1
> example1.py → 2
> example1.py → 3
> example2.py → 2
> example2.py → 3

В примере выше 2 независимых процесса выполняются параллельно и пишут вывод в одну консоль с разной задержкой.

💭 Если вы используете python3, измените аргументы subprocess.Popen на ['python3', 'example1.py'].

Как запустить python-скрипт в фоновом режиме?

В Unix используется & в конце команды. Скрипт запустится в фоновом режиме и будет работать даже если закрыть консоль.

python3 example.py &

Вывод можно перенаправить в файл:

python3 example.py > log.txt &

В Windows команда start с флагом /b создает новое окно командной строки, при этом не открывая его. Скрипт перестанет работать если закрыть консоль.

START /B python example.py

Команда с перенаправлением вывода в файл:

START /B python example.py > log.txt

Как сделать запуск скрипта по расписанию?

В Linux самый простой способ запускать скрипты по расписанию — через Cron.

Cron — это демон (программа), запускающий другие программы по расписанию.

👉 Чтобы настроить расписание в Cron (для Linux):

1 Зайдите в таблицу Cron через команду crontab:

crontab -e

В редакторе откроется конфигурационный файл Cron.

Так выглядит конфигурационный файл Cron. В данный момент в нем нет заданий.

2 В конце файла напишите новое задание.

*/5 * * * * python3 /var/new/example.py

В данном примере скрипт example.py будет запускаться каждые 5 минут. Создать свой шаблон расписания можно через сервис crontab.guru.

3 Сохраните файл комбинацией клавиш Ctrl + XYEnter.

Готово 🎉.

Запуски через Cron логируются в файл /var/log/syslog. Чтобы отменить запуск скрипта по расписанию, удалите строку с заданием через crontab -e.

В Windows скрипты по расписанию запускаются через планировщик задач.

👉 Чтобы настроить расписание через планировщик задач (для Windows):

1 Найдите «Планировщик заданий» через поиск в Windows.

2 Зайдите в «Действия» → «Создать простую задачу».

«Планировщик заданий» → «Действия» → «Создать простую задачу».

3 Следуйте инструкции мастера создания простой задачи:

  • В поле «Имя» введите название задачи.
  • Настройте периодичность запуска в разделе «Триггер».
  • Во вкладке «Действие» выберите пункт «Запустить программу».
  • Во вкладке «Запуск программы» в поле «Программа или сценарий» укажите путь до интерпретатора Python, а в поле «Аргументы» впишите полный путь до нужного скрипта.
В качестве программы укажите полный путь до интерпретатора Python. В качестве аргумента укажите полный путь до python-скрипта.

Готово 🎉.

Созданная задача появится в общем списке планировщика задач. Изменить настройки задачи можно через клик правой кнопкой мыши по задаче → «Свойства».


Теперь вы умеете запускать скрипты на Python 😎

Запуск через консоль — универсальный способ. В процессе разработки используйте запуск через IDE — в нем можно не только запускать, но и отлаживать код через отладчик (debugger). Для изоляции вашего проекта, запускайте скрипты в виртуальном окружении (например через pipenv). Запуск через Docker чаще всего используют при развертывании приложений на продакшене. Через онлайн-сервисы можно быстро протестировать свой код, когда Python-а нет под рукой. А владельцы Windows могут использовать «ленивый» метод — двойной клик по значку файла.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Hp pavilion g6 bluetooth driver windows 10
  • Все секреты windows 10
  • Популярные видеоплееры для windows 10
  • Что такое средство диагностики памяти windows
  • Как сделать резервную копию ноутбука windows 10