Форум сайта python.su
1. Нужно кроссплатформенно запустить программу из питона.
2. Пайпы и вывод особо не нужны
3. Позднее нада както этот процесс убить\закрыть.
4. Работать должно под линухом и под виндой.
5. Программа должна запускаться отдельно. То есть не замораживать основной процесс питона. Под линухом в данный момент я запускаю так os.system('command &'), а как под виндой - не знаю
Гугл особо не помог.
Отредактировано alexeyvanzhula (Янв. 31, 2013 14:36:15)
Офлайн
как, КАК Гугл не помог?? Какой запрос вы вводили???
Первая ссылка выводит вас на модуль subprocess
а здесь первая ссылка официальная документация, третья тоже на русском.
А теперь ответьте мне - как вы искали, что сложного?
Отредактировано JOHN_16 (Янв. 31, 2013 23:24:26)
Офлайн
import subprocess
from subprocess import call
call()
subprocess.Popen()
почему 4я строка не работает. объясните пожалуйста и что нужно исправить. питон 3,3
Офлайн
Голову нужно исправить. А лучше вообще никогда больше не заниматься программированием.
Телепатов тут нет, так что либо потрудитесь объяснить как именно не работает, с приведением более внятного куска кода, хотя бы с аргументами, либо GTFO.
Офлайн
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'])
Отредактировано Vivatgm (Фев. 1, 2013 14:55:53)
Офлайн
Vivatgm, есть предпросмотр в конце концов.
Затем вы бы штоле ошибку еще удосужились прочесть, прежде чем задавать глубокосодержательный вопрос “почему не работает”….
Ну и по существу. Список в Popen передается не просто так. То есть строка в списке, которую Вы передаете в Popen воспринимается как один аргумент в argv… поэтому либо вызываете Popen с указанием shell=True либо передаете корректный список параметров. Почему так читать документацию.
Офлайн
Запустить процесс (для винды вроде нужно стереть параметр close_fds)
Убить процесс
Офлайн