Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2013 14:35:26

alexeyvanzhula
Зарегистрирован: 2012-05-14
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск внешней программы.

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

Гугл особо не помог.

Отредактировано alexeyvanzhula (Янв. 31, 2013 14:36:15)

Офлайн

#2 Янв. 31, 2013 23:23:05

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Запуск внешней программы.

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

А теперь ответьте мне - как вы искали, что сложного?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Отредактировано JOHN_16 (Янв. 31, 2013 23:24:26)

Офлайн

#3 Фев. 1, 2013 13:49:39

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск внешней программы.

import subprocess
from subprocess import call
call()
subprocess.Popen()
почему 4я строка не работает. объясните пожалуйста и что нужно исправить. питон 3,3

Офлайн

#4 Фев. 1, 2013 14:22:23

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Запуск внешней программы.

Голову нужно исправить. А лучше вообще никогда больше не заниматься программированием.

Телепатов тут нет, так что либо потрудитесь объяснить как именно не работает, с приведением более внятного куска кода, хотя бы с аргументами, либо GTFO.



Офлайн

#5 Фев. 1, 2013 14:55:32

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск внешней программы.

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)

Офлайн

#6 Фев. 1, 2013 15:03:02

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Запуск внешней программы.

Vivatgm, есть предпросмотр в конце концов.

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

Ну и по существу. Список в Popen передается не просто так. То есть строка в списке, которую Вы передаете в Popen воспринимается как один аргумент в argv… поэтому либо вызываете Popen с указанием shell=True либо передаете корректный список параметров. Почему так читать документацию.



Офлайн

#7 Фев. 2, 2013 12:13:58

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Запуск внешней программы.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version