LINUX.ORG.RU

Запуск сторонней программы из скрипта Python

 


0

2

Я вообще в программировании полный ноль, поэтому прошу помощи.
С рецептами из инета у меня не получается.

Есть скрипт https://github.com/buzz/twitch-indicator/blob/master/twitch-indicator.py

Нужно чтобы вместо webbrowser запускался mpv с параметром (url)
Заранее благодарен.

★★★★★

Что-то вы не то делаете, однако. В указанном вами скрипте за взаимодествие с бразуером отвечает модуль webbrowser. Он только браузер запускать может.

В качестве альтернативы данному модулю для mpv есть python-mpv, но работает он немного по другому. Он юзает libmpv для проигрывания файлов, а не форкает процесс mpv. Возможно вам этот вариант подойдёт. Как скормить url mpv с помощью python-mpv описано прямо в доках на страничке github проекта https://github.com/jaseg/python-mpv

Есть вариант, запускающий mpv отдельным процессом - https://github.com/gustaebel/python-mpv, но проект старый и с документацией у него беда. Лучше с ним не связываться.

lucentcode ★★★★★
()
Ответ на: комментарий от athost

Это ты программист, а я - инженер-механик. Скопипастил, работает и ладно )

Ах вот почему все так глючит и плохо работает, инженеры-механики софт пишут.

sniper21 ★★★★★
()
Ответ на: комментарий от sniper21

По счастью, я не софт пишу, а чуть-чуть подправляю для собственных нужд.

athost ★★★★★
() автор топика
Ответ на: комментарий от Jopich1

Есть проблема, может быть подскажешь.
mpv из этого скрипта запускается только в одном экземпляре, т.е. пока не закроешь его, другой канал не запускается.
А после закрытия запускается следующий вызванный.

athost ★★★★★
() автор топика
Ответ на: комментарий от athost

import subprocess
cmd='mpv'.split()
subprocess.call(cmd + [str(url)], shell=False)

сделай по-человечьи

    import subprocess  
    subprocess.call(['mpv', str(url)], shell=False)

Aswed ★★★★★
()
Ответ на: комментарий от Jopich1

Второе ок, но первое? Зачем сначала собирать строку, а потом ее сплитить? Типа пишем на высокоуровневом языке, значит вставлять бесполезные инструкии ок?

Aswed ★★★★★
()
Ответ на: комментарий от athost

Проблему решил вызовом не самого mpv, а шелл-скрипта с его запуском.
«Модули», «многопоточность» и другие умные слова lol
Иногда один механик лучше десятка программистов.

athost ★★★★★
() автор топика

Продолжаю изыскания )))
А как в строке

webbrowser.open_new_tab(url)

добавить '/chat' к урлу?

athost ★★★★★
() автор топика
Ответ на: комментарий от Jopich1

Как у вас в программировании все через жопу делается.
Я думал, что будет попроще, что-нибудь типа

webbrowser.open_new_tab(url + '/chat')

athost ★★★★★
() автор топика
Ответ на: комментарий от Jopich1

Так?

webbrowser.open_new_tab("url %s" % '/chat')


В консоле пишет

Exiting... (Errors when loading file)
kf5.kio.widgets: Malformed URL: ""


и вываливается окошко «неверная ссылка»

athost ★★★★★
() автор топика
Ответ на: комментарий от Jopich1

Спасибо. Проблема решена.
Почитал доку на webbrowser. Там как раз такой пример.
Так и не понял, почему у меня сначала не работало

webbrowser.open_new_tab(url + '/chat')
Сорри за беспокойство.

athost ★★★★★
() автор топика
Последнее исправление: athost (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.