Найти - Пользователи
Полная версия: Запуск внешней программы.
Начало » Python для новичков » Запуск внешней программы.
1
alexeyvanzhula
1. Нужно кроссплатформенно запустить программу из питона.
2. Пайпы и вывод особо не нужны
3. Позднее нада както этот процесс убить\закрыть.
4. Работать должно под линухом и под виндой.
5. Программа должна запускаться отдельно. То есть не замораживать основной процесс питона. Под линухом в данный момент я запускаю так os.system('command &'), а как под виндой - не знаю

Гугл особо не помог.
JOHN_16
как, КАК Гугл не помог?? Какой запрос вы вводили???
Первая ссылка выводит вас на модуль subprocess
а здесь первая ссылка официальная документация, третья тоже на русском.

А теперь ответьте мне - как вы искали, что сложного?
Vivatgm
import subprocess
from subprocess import call
call()
subprocess.Popen()
почему 4я строка не работает. объясните пожалуйста и что нужно исправить. питон 3,3
cutwater
Голову нужно исправить. А лучше вообще никогда больше не заниматься программированием.

Телепатов тут нет, так что либо потрудитесь объяснить как именно не работает, с приведением более внятного куска кода, хотя бы с аргументами, либо GTFO.
Vivatgm
cutwater
Голову нужно исправить. А лучше вообще никогда больше не заниматься программированием.Телепатов тут нет, так что либо потрудитесь объяснить как именно не работает, с приведением более внятного куска кода, хотя бы с аргументами, либо GTFO.
грубить было не обязательно, если нет желания отвечать можно и не отвечать. почему скобки пустыми оказались вопрос интересующий и меня
попробую повторно выложить
import subprocess
from subprocess import call
call(["cmd","/c","md D:\\БЭКАП\\%DATE%"])
subprocess.Popen(['C:\"Program Files"\WinRAR\rar.exe a -ep1 D:\БЭКАП\камита.rar D:\tmp6A41.xlsx'])
программа должна создавать папку с текущей датой и закидывать туда архив. часть с созданием папки работает, а вот запуск рара с параметрами не выполняет
cutwater
Vivatgm, есть предпросмотр в конце концов.

Затем вы бы штоле ошибку еще удосужились прочесть, прежде чем задавать глубокосодержательный вопрос “почему не работает”….

Ну и по существу. Список в Popen передается не просто так. То есть строка в списке, которую Вы передаете в Popen воспринимается как один аргумент в argv… поэтому либо вызываете Popen с указанием shell=True либо передаете корректный список параметров. Почему так читать документацию.
o7412369815963
Запустить процесс (для винды вроде нужно стереть параметр close_fds)
Убить процесс
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB