Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 25, 2010 10:55:35

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск skype из Python

В linux выполняю os.system('/usr/bin/skype') приложение запускается, но скрипт не возвращает управления а зависает после заруска приложения. Использую потоки, модули thread, threading - результат такой же. Что я делаю неправильно?

Спасибо!



Офлайн

#2 Окт. 25, 2010 11:04:27

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск skype из Python

Возможно Вам пригодится:этот топик



Отредактировано (Окт. 25, 2010 11:06:23)

Офлайн

#3 Окт. 25, 2010 11:07:14

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск skype из Python

я использую библиотеку Skype4Py, однако команда …skype.Client.Start()… завершается ошибкой.

skype.Client.Start()
>>> Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “/usr/local/lib/python2.6/dist-packages/Skype4Py/client.py”, line 273, in Start
self._Skype._Api.startup(Minimized, Nosplash)
File “/usr/local/lib/python2.6/dist-packages/Skype4Py/api/posix_dbus.py”, line 179, in startup
os.execlp('skype')
File “/usr/lib/python2.6/os.py”, line 327, in execlp
execvp(file, args)
File “/usr/lib/python2.6/os.py”, line 344, in execvp
_execvpe(file, args)
File “/usr/lib/python2.6/os.py”, line 380, in _execvpe
func(fullname, *argrest)
ValueError: execv() arg 2 must not be empty

Именно в linux, под win приложение работает корректно. Вот и вынужден искать другие способы запуска.



Отредактировано (Окт. 25, 2010 11:26:49)

Офлайн

#4 Окт. 25, 2010 13:26:30

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск skype из Python

pal201
В linux выполняю os.system('/usr/bin/skype') приложение запускается, но скрипт не возвращает управления а зависает после заруска приложения. Использую потоки, модули thread, threading - результат такой же. Что я делаю неправильно?
А что вы от него хотите? Он ждет завершения дочернего процесса (этого вашего приложения). Хотите, чтобы он дальше работал? Тогда делайте так - os.system('/usr/bin/skype &'). Но вообще все от задачи зависит. Что дальше то нужно делать?



Офлайн

#5 Окт. 25, 2010 16:14:30

pal201
От:
Зарегистрирован: 2010-01-05
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск skype из Python

Гениальный ответ! То, что нужно. Взаимодействуя со скайпом нужно сначала его запустить и вернуть управление в скрипт. А поскольку метод start модуля skype4py работает некорректно ни как не добиться этого было! Большое спасибо!



Офлайн

#6 Окт. 25, 2010 16:26:16

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2789
Репутация: +  185  -
Профиль   Отправить e-mail  

Запуск skype из Python

Используй команды неблакирующие основной поток. Например os.popen2(каманда), а лучше всего subprocess.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Окт. 26, 2010 01:45:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9960
Репутация: +  856  -
Профиль   Отправить e-mail  

Запуск skype из Python

>>> import subprocess
>>> subprocess.Popen("firefox www.yandex.ru", shell=True)
<subprocess.Popen object at 0xb6eaf0ac>
>>>



Отредактировано (Окт. 26, 2010 01:46:00)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version