How to run Exe from Python – 3 Easy methods?
Running an .exe file from Python can be a useful tool for automating certain tasks or for executing system commands.
including data analysis, machine learning, and web development. One of the many things that Python can do is run executable files (.exe) on a computer. This can be done using a few different methods, each with its own set of advantages and disadvantages. In this article, we will discuss how to run exe using Python.
In this article, we will explore how to run an .exe file from Python and discuss some of the benefits and limitations of this method.
1. Run exe with Python using Sub process
One way to run an .exe file from Python is to use the subprocess module. The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes.
This means that you can run an .exe file as a subprocess and interact with it just as you would with any other process.
For example, to run an .exe file named “example.exe” from Python, you can use the following code:
import subprocess subprocess.run(["example.exe"])
This code imports the subprocess module and uses the run() function to execute the “example.exe” file. The run() function takes a list of arguments, with the first argument being the name of the .exe file to run.
2. Run using OS Python Library
Another way to run an .exe file from Python is to use the os module. The os module provides a way of using operating system dependent functionality like reading or writing to files, starting new processes, killing processes etc.
To run an .exe file, you can use the os.system() function.
For example, to run an .exe file named “example.exe” from Python, you can use the following code:
import os os.system("path/to/example.exe")
This code imports the os module and uses the system() function to execute the “example.exe” file. The system() function takes a string argument, which is the command to be executed by the operating system shell.
Running an .exe file from Python can be a powerful tool for automating tasks, such as running system commands or launching other programs. However, it’s important to note that executing an .exe file can also be a security risk, as it can potentially allow malicious code to run on your system. Therefore, it is important to make sure that the .exe file you are running is from a trusted source before executing it.
3. Run Exe from Python using Win32Api
A third method is to use the “win32api” module, which is a python wrapper for Windows API. This module provides a way to access the Windows API, which can be used to run exe files. Here is an example of how to use the “win32api” module to run an exe file:
import win32api win32api.ShellExecute(0, "open", "path/to/exe", None, ".", 0)
This will run the exe file located at “path/to/exe” on your computer.
In conclusion, Python provides several ways to run exe files, each with its own set of advantages and disadvantages. The subprocess module is a powerful and flexible option that allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes. The os module provides a way of using operating system dependent functionality like reading or writing to files, starting new processes, killing processes etc. The “win32api” module is a python wrapper for Windows API which can be used to run exe files.
It is important to note that running exe files using python may require certain permissions, and it is important to ensure that the exe file is from a trusted source before running it. Always use proper caution and security measures when running exe files using python or any other method.
In conclusion, running an .exe file from Python can be a useful tool for automating certain tasks or for executing system commands. By using the subprocess or os module, you can run an .exe file as a subprocess and interact with it just as you would with any other process. However, it’s important to be aware of the security risks involved and to make sure that the .exe file you are running is from a trusted source before executing it.
Запуск других программ из Python
Программа на Python может запускать другие программы с помощью функции Popen() (от process open) встроенного модуля subprocess. В качестве аргумента функция принимает имя программы, которую нужно запустить:
>>> import subprocess >>> subprocess.Popen(‘C:\\Windows\\System32\\calc.exe’)
Возвращаемое значение представляет собой объект Popen , имеющий два полезных метода: poll() и wait() .
Метод poll() возвращает значение None , если в момент его вызова процесс все еще выполняется. Если же процесс к этому моменту завершен, то он возвращает код завершения процесса. Код заверешения служит индикатором того, завершился ли процесс без ошибок (код равен нулю) или же его завершение было вызвано ошибкой (ненулевой код).
Метод wait() ожидает завершения запущенного процесса, прежде чем продолжить выполнение основной программы. Возвращаемым значением метода является целочисленный код завершения процесса.
>>> notepad = subprocess.Popen('C:\\Windows\\System32\\notepad.exe') >>> notepad.poll() == None True >>> notepad.poll() == None False >>> notepad.wait() 0 >>> notepad.poll() 0
Сначала мы открываем процесс блокнота, затем проверяем, возвращает ли метод poll() значение None . Это означает, что процесс все еще выполняется. После этого закрываем блокнот и еще раз проверяем, возвращает ли метод poll() значение None . Теперь оба метода, wait() и poll() возвращают нулевое значение, что указывает на завершение программы notepad.exe без ошибок.
Передача аргументов командной строки
Процессам, создаваемым с помощью функции Popen() , можно передвать аргументы командной строки. Для этого функции Popen() надо передать список в качестве единственного аргумента. Первой строкой в этом списке должно быть имя исполняемого файла программы, которую надо запустить. Все последующие строки — это аргументы командной строки, которые будут переданы программе при запуске.
>>> subprocess.Popen([‘C:\\Windows\\System32\\notepad.exe’, ‘C:\\example\\readme.txt’])
Здесь мы не только запускаем приложение notepad.exe , но и открываем файл readme.txt .
Открытие файлов программ по умолчанию
Двойной клик на иконке файла с расширением .txt позволяет автоматически запустить приложение, ассоциированное с этим расширением. Функция Popen() также может открывать файлы подобным образом:
>>> subprocess.Popen((‘start’, ‘C:\\example\\readme.txt’), shell = True)
В каждой операционной системе есть программа, выполняющая те же функции, что и двойной клик на иконке файла. В Windows это программа start , в Ubuntu Linux — программа see .
# Таймер обратного отсчета import time, subprocess wait = 10 while wait > 0: print(wait, end='') time.sleep(1) wait = wait - 1 # Воспроизведение звукового файла по завершении обратного отсчета subprocess.Popen(['start', 'C:\\example\alarm.wav'], shell = True)
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- 1С:Предприятие (31)
- API (29)
- Bash (43)
- CLI (100)
- CMS (139)
- CSS (50)
- Frontend (75)
- HTML (66)
- JavaScript (150)
- Laravel (72)
- Linux (147)
- MySQL (76)
- PHP (125)
- React.js (66)
- SSH (27)
- Ubuntu (68)
- Web-разработка (509)
- WordPress (73)
- Yii2 (69)
- БазаДанных (95)
- Битрикс (66)
- Блог (29)
- Верстка (43)
- ИнтернетМагаз… (84)
- КаталогТоваров (87)
- Класс (30)
- Клиент (27)
- Ключ (28)
- Команда (69)
- Компонент (60)
- Конфигурация (62)
- Корзина (32)
- ЛокальнаяСеть (28)
- Модуль (34)
- Навигация (31)
- Настройка (140)
- ПанельУправле… (29)
- Плагин (33)
- Пользователь (26)
- Практика (99)
- Сервер (74)
- Событие (27)
- Теория (105)
- Установка (66)
- Файл (47)
- Форма (58)
- Фреймворк (192)
- Функция (36)
- ШаблонСайта (68)