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

Спасибо!
guranvir
Возможно Вам пригодится:этот топик
pal201
я использую библиотеку 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 приложение работает корректно. Вот и вынужден искать другие способы запуска.
Alex2ndr
pal201
В linux выполняю os.system('/usr/bin/skype') приложение запускается, но скрипт не возвращает управления а зависает после заруска приложения. Использую потоки, модули thread, threading - результат такой же. Что я делаю неправильно?
А что вы от него хотите? Он ждет завершения дочернего процесса (этого вашего приложения). Хотите, чтобы он дальше работал? Тогда делайте так - os.system('/usr/bin/skype &'). Но вообще все от задачи зависит. Что дальше то нужно делать?
pal201
Гениальный ответ! То, что нужно. Взаимодействуя со скайпом нужно сначала его запустить и вернуть управление в скрипт. А поскольку метод start модуля skype4py работает некорректно ни как не добиться этого было! Большое спасибо!
Rodegast
Используй команды неблакирующие основной поток. Например os.popen2(каманда), а лучше всего subprocess.
py.user.next
>>> import subprocess
>>> subprocess.Popen("firefox www.yandex.ru", shell=True)
<subprocess.Popen object at 0xb6eaf0ac>
>>>
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