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